MongoDB数据库的使用

基础命令

显示所有数据库:show dbs,show databases   

                                                

 

使用数据库:use 数据库名(没有该数据库则自动创建)

MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中

 

查看当前的数据库: db 

我们刚创建的数据库 test1 并不在数据库的列表中, 要显示它,我们需要向test1数据库插入一些数据

在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。

 

删除数据库:db.dropDatabase()   db表示当前数据库

 

MongoDB数据库中无表,将数据存放在集合中。

 

MongoDB数据库存储的数据类型

 

数据库的增删改查

新建集合,插入数据: insert( { ?:? , ?:? } )

查:find() 查询所有数据   _id 唯一标识(生成算法见上图)

 

再次插入_id(唯一)相同的数据时,报错,键重复

使用save(),_id存在会更新   插入时更新了数据,年龄变为60

 

更新

直接update,会替换原有的数据

 

update中,使用$set 指定值,只改变指定值,age还在

数据重复时,默认只更新一条

添加参数multi为true,全部更新  (mutli必须和$一起使用才有效)

 

默认删除多条,添加参数justOne只删除一条

 

指定查询条件:

美化输出:pretty()

比较运算符:

查询 age小于等于15小于15的 

 

范围运算符:

查询年龄为13或18的学生

多个条件:

查询 年龄为13并且名字为xiaozhao 的学生

投影:显示指定的字段内容           查询年龄为13的结果,只显示name,需要什么写什么 (1代表显示)( _id默认显示)

 

逻辑运算符:

查询年龄为 18或者名字为xiaozhao 的学生

 

正则表达式

查询sku是abc开头的,sku是789结尾的

limit()和skip() 

查询前两个,    跳过前两个,查询全部         跳过前两个,查询2个

 

自定义查询:支持js语句

排序:sort() 1代表升序  -1代表降序

统计 count()

 

去重 distinct()  

 

数据备份和恢复

 

 

 

聚合命令

表达式

$group

根据性别分组

根据性别分组,统计各组的个数($sum表示求和,1表示每个设为1,即和为个数)

根据性别分组,求不同性别的年龄的平均值

按照hometown进行分组,获取不同组的平均年龄

使用$group统计整个文档,年龄的平均值

 

$project  改名~

不显示_id,可用1 替换

 

$match 过滤数据

选择年龄大于20的,观察男女各人数   (只有男的)

选择年龄大于18的,

年龄大于20 或者 在家乡在内蒙古或大理 观察男女各人数 

eg:

有重复的,首先去重

分组,统计数量

 

               

 

  

 

 

待补充---------------------------------------------------------------