基础命令
显示所有数据库: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:
有重复的,首先去重
分组,统计数量