一、数据库操作
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()
