linux学习总结----mongoDB总结
dbhelper.py
用户登录和注册(加密算法)
加密导包 import hashlib 或者使用Md5 加密
MongoDB —》JSON
service mysql start
service mongod start
数据库(添加,查看,删除) —》集合(创建,删除,添加数据)
查看:
show dbs; (show databases;)
使用:
use 数据库;
随意use数据库名,但是不一定数据库就会存在。只有向数据库中添加集合,数据库才会创建
创建集合:(table)
db.createCollection(‘集合名字’) ——》存在数据库
删除:
要想删除哪个数据库,就必须先use school;
然后: db.dropDatabase();
查看当前正在使用的数据库:
db
mytest
集合的操作:
> use mytest;
switched to db mytest
> db.createCollection('employee'); —设置没有上限集合
{ "ok" : 1 }
> db.createCollection('dept',{capped:true,size:12}); —设置了上限集合
{ "ok" : 1 }
> show tables; — 查看集合
dept
employee
> show collections; —查看集合
dept
employee
> db.employee.drop(); — 删除集合 db.集合名字.drop()
true
> show collections;
添加数据:
> db.dept.insert({dname:'sales',loc:'beijing'}); —》 直接添加一个文档对象
WriteResult({ "nInserted" : 1 })
> db.dept.insert({dname:'accounting',loc:'shanghai'},{dname:'research',loc:'zhengzhou'});
WriteResult({ "nInserted" : 1 })
> db.dept.find()
{ "_id" : ObjectId("5b8f521e5f29fed989e6d8c8"), "dname" : "sales", "loc" : "beijing" }
{ "_id" : ObjectId("5b8f525d5f29fed989e6d8c9"), "dname" : "accounting", "loc" : "shanghai" }
> d1={dname:'research',loc:'zhengzhou'} —》创建d1文档对象 d1={。。。。。}
{ "dname" : "research", "loc" : "zhengzhou" }
> d1.desc='aaaa' ——》 动态给d1添加新的字段
aaaa
> db.dept.insert(d1) ——》 再将整个d1insert到dept中
WriteResult({ "nInserted" : 1 })
> db.dept.find(); ——》 查询文档中的所有数据
{ "_id" : ObjectId("5b8f521e5f29fed989e6d8c8"), "dname" : "sales", "loc" : "beijing" }
{ "_id" : ObjectId("5b8f525d5f29fed989e6d8c9"), "dname" : "accounting", "loc" : "shanghai" }
{ "_id" : ObjectId("5b8f53235f29fed989e6d8ca"), "dname" : "research", "loc" : "zhengzhou", "desc" : "aaaa" }
db.aa.insert([{a:55,b:44},{a:33,b:22,c:67,d:789}]) —>批量添加
总结: 文档结构不是固定的。
删除:
格式: db.集合名称.remove({})
db.集合名称.remove({}) 清空集合中数据
db.集合名称.remove({key:value}) 有条件的删除数据
更新:
格式: db.集合名称.update(query,value,options)
db.aa.update({a:100},{a:101,b:1000}) ——> 替换原来的内容
$set: 设置值
db.aa.update({a:101},{$set:{a:102}})
$inc:
db.aa.update({a:8},{$inc:{b:10}})
保存:save() 保存修改
db.集合.save(document)
db.集合.save({a:1000,b:1000})
db.集合.insert()
var d1 = db.集合.findOne({a:22})
d1.字段=值
打印d1
db.集合.save(d1)
查询:
find() 查询所有
findOne() 获取第一条记录
limit() 获取指定的数量
skip(n) 跳过n条记录
通常可以通过limit和skip的结合完成分页操作
db.aa.find().skip(0).limit(3)
db.aa.find().skip(3).limit(3)
db.aa.find().skip(6).limit(3)
db.aa.find().skip(9).limit(3)
page count=3
总结:
db.aa.find().skip((page-1)*count).limit(3)
limit和skip换位置也是相同的结果
投影: 就是查询指定字段的值select ename,job from employee
db.集合名.find({},{字段名:1或者0}) 1 表示显示字段信息 0 表示不显示字段信息
注意:_id如果不声明,默认是显示的 _id:0 则不显示
排序:sort({字段:1或者-1})
db.aa.find().sort({a:-1}) 按照a降序排列
db.aa.find().sort({a:1}) 按照a升序排列
db.aa.find().sort({a:-1,b:-1}) 先按照a降序排列,如果a有相同的则按照b降序排列
统计数目:类似聚合函数中count(*)
count() 函数
db.aa.find().count() 统计aa集合的记录数有多少
去重:
语法: db.集合.distinct(‘去重的字段’)
db.aa.distinct('a')
强调:db.aa.find({},{a:1}).distinct(‘a’) 报错
关系查询:
> < >= <=
$gt $lt $gte $lte
db.aa.find({字段:{$gt:6}})
db.aa.find({字段:{$lt:6}})
逻辑: {$or:[{条件1},{条件2}]} 符合条件1或者符合条件2
默认是与and {a:{$gt:8},b:{$lt:10}} a>8 and b<10
范围: $in $nin
db.aa.find({a:{$in:[7,8,18]}})
总结:
find()
findOne()
pretty() 格式化
投影:指明字段
去重: distinct()
排序: sort()
分页: limit() skip()
关系: $gt $lt $ne $gte $lte
逻辑: $or 默认是and
范围: $in $nin
统计: count()
linux学习总结----mongoDB总结的更多相关文章
- Linux学习、Mongodb部署 踩到的坑学习
一.安装Centos 7虚拟机系统 1.系统安装 下载阿里云的镜像,下载后安装,默认全程图形界面:虚拟机使用Win10自带的Hyper:碰到的坑记录下 1.在Hyper加载镜像启动的时候,提示“虚拟机 ...
- TODO:Linux安装PHP MongoDB驱动
TODO:Linux安装PHP MongoDB驱动 PHP利于学习,使用广泛,主要适用于Web开发领域. MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统 ...
- Linux学习笔记-林耐斯Notes-Linux就该这么学
Linux学习笔记... 参考的优秀Linux网站: http://www.w3cschool.cn/linux/ http://www.linuxeye.com/ http://linux.vbir ...
- Linux~学习笔记目录索引
回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...
- Linux学习笔记-Linux系统简介
Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...
- MongoDB和Java(1):Linux下的MongoDB安装
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
- Linux学习日记-使用EF6 Code First(四)
一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是 请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...
- Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码
在上一篇随笔里面详细讲解了Linux系统的启动过程 (Linux学习之CentOS(二十一)--Linux系统启动详解),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab ...
- Linux学习笔记之兄弟连
systemctl --user enable pulseaudio说明:安装完成后系统没有声音,用该命令可以打开.ifconfig eth0 192.168.118.1说明:给网卡设置IP地址.ap ...
随机推荐
- asp.net mvc HtmlHelperExt EnumDropDownList
public static class HtmlHelperExt { public static MvcHtmlString EnumDropDownList<TEnum>(this H ...
- Winodws SNMP服务安装和配置(Windows 2003 & 2008 R2)
简单网络管理协议SNMP服务起着代理的作用,它会收集可以向SNMP管理站或控制台报告的信息.您可以使用SNMP服务来收集数据,并且在整个公司网络范围内管理基于Windows Server 2003.M ...
- careercup-扩展性和存储限制10.3
题目 给你一个文件,里面包含40亿个整数,写一个算法找出该文件中不包含的一个整数, 假设你有1GB内存可用. 如果你只有10MB的内存呢? 解答 我们先来做个算术题,40亿个整数大概有多大? * ^ ...
- servelet跳转页面的路径中一直包含sevelet的解决办法
解决办法1: 在web.xml配置文件中修改: <servlet-mapping> <servlet-name>LoginServelet</servlet-name&g ...
- trunc(sysdate)的含义是什么
1.ORACLE中TRUNC是截取的函数
- git 的一些基本命令小结
Git是目前世界上最先进的分布式版本控制系统 对于git 的用法,本文并不属于教程,只是总结记录一些平时用的简单命令 git的下载地址:https://git-scm.com/downloads 主要 ...
- 微信小程序调用api接口
请求的第三方微信url大概有3种 1)$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&s ...
- ThinkPHP5.0图片上传生成缩略图实例代码
很多朋友遇到这样一个问题,图片上传生成缩略图,很多人在本机(win)测试成功,上传到linux 服务器后错误. 我也遇到同样的问题.网上一查,有无数的人说是服务器临时文件目录权限问题. 几经思考后,发 ...
- php 批量去除项目文件bom头
<?php if (isset($_GET['dir'])) { //设置文件目录 $basedir = $_GET['dir']; } else { $basedir = '.'; } $au ...
- Linux内核调用SPI平台级驱动_实现OLED的显示功能
Linux内核调用SPI驱动_实现OLED显示功能 0. 导语 进入Linux的世界,发现真的是无比的有趣,也发现搞Linux驱动从底层嵌入式搞起真的是很有益处.我们在单片机.DSP这些无操作系统的裸 ...