一、数据库操作
1.1 查看当前连接的数据库名称:db
1.2 查看所有数据名称:show dbs
1.3 创建或切换数据库:use 数据库名称
如果数据库名称不存在,则指向数据库,需要插入文档或创建集合才创建数据库
如果数据库名称存在,则切换到指定的数据库
1.4 删除指向的数据库:db.dropDatabase()
二、集合操作
2.1 创建集合:db.createCollection("集合名称",{参数})
2.1.1不带参数创建集合
2.1.2带参数创建集合
capped:(可选)默认值为false表示不设置上限,值为true表示设置上限
size:(可选)当capped值为true时,需要指定此参数,表示上限大小,当文档达到上限时,会覆盖之前的数据,单位为KB
max:(可选)允许集合中包含文档的最大数量
2.2 查看当前数据库的集合:show collections
2.3 删除指定集合:db.集合名称.drop()
三、文档操作
3.1 插入单个文档:db.集合名称.insertOne(文档)
3.2 插入多个文档:db.集合名称.insertMany([文档1,文档2,文档3...])
3.3 更新单个文档:db.集合名称.updateOne({条件},{$set:{要更新的键:要更新的值}})
3.4 更新多个文档:db.集合名称.updateMany({条件},{$set:{要更新的键:要更新的值}})
3.5 删除单个文档:db.集合名称.deleteOne({条件})
3.6 删除多个文档:db.集合名称.deleteMany({条件})
四、数据查询
为了方便后续演练,先插入以下数据
4.1 按条件查询:db.集合名称.find({条件})
比较运算符:
- 大于:$gt
- 小于:$lt
- 大于等于:$gte
- 小于等于:$lte
- 不等于:$ne
逻辑运算符:
- 逻辑与:{条件1,条件2,...}
- 逻辑或: {$or:[{条件1},{条件2},...]}
范围运算符:
在某个列表范围内:$in
不在某个列表范围内:$nin
4.2 附加方法查询
4.2.1 读取指定数量的文档:db.集合名称.find().limit(n)
4.2.2 读取跳过指定数量后的文档:db.集合名称.find().skip(n)
4.2.3 对结果集进行排序:db.集合名称.find().sort({字段:1, ...})
参数1为升序排列
参数-1为降序排列
注意:skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序 sort() -> skip() -> limit() 。
4.2.4 对查询出的结果进行投影:db.集合名称.find({条件},{字段名称:1, ...})
- 对于需要显示的字段,值设置为1即可,不设置即为不显示
- 对于_id字段默认是显示的,如果不显示需要明确设置为0
4.2.5 对查询结果集进行文档个数统计:db.集合名称.find({条件}).count()