增删改查
添加
向集合中添加文档数据
# 添加单条文档数据
db.collection.insertOne({ key: value })
# 添加多条文档数据
db.collection.insertMany([{}, {}, {}])
# 可以添加单条也可以多条数据
db.collection.insert( {} )
db.collection.insert([{}, {} ])
一次性添加多条记录
循环添加多条文档
删除
删除集合中已存在的文档数据
# 删除单条文档
db.collection.deleteOne({ key: value })
# 删除符合条件多条文档
db.collection.deleteMany({key: value})
# 删除全部数据
collection.deleteMany({});
key:value 表示 等于的 意思
删除单条符合条件的记录
删除符合条件的所有记录
删除所有的数据(慎用,最好不用)
查询 find
查看所有和指定字段
db.c1.find(); # 获取全部
db.c1.find({}); # 获取全部
# 条件
查询指定的字段
db.集合.find({条件},{字段名:[0/1]}) 0不要字段显示, 1要记录显示
# 字段值为1取出相对应字段数据 0就表示不取出 _id默认会显示,只有指定为0才不会显示
db.c1.find({name:"user11"},{name:1});
是否显示指定字段
查询指定字段值的要件
条件表达式查看
### 条件表达式
# 年龄大于5的
db.c1.find({age:{$gt:5}}); age > 5
# 年龄大于等于5的
db.c1.find({age:{$gte:5}}); age >= 5
# 年龄小于5的
查询age>=5的文档记录
查询列举范围内的数据
且关系查询
或语法查询
模糊查询
正则
db.集合.find({字段名:/正则/i})
i 不区分大小写
统计总记录数
# 统计记录数量 count
db.c1.count();
db.c1.find().count();
排序查询
# 排序
# 1 升序 -1 降序 字段
# 以age字段来升序
db.c1.find().sort({age:1})
# 以age字段来降序
db.c1.find().sort({age:-1})
分页查询
# 指定获取几条 skip/limit 分页
db.c1.find().limit(3);
db.c1.find().skip(1).limit(3)
修改
根据条件修改已存在集合中的文档数据
// 设置
# 只修改单条文档
db.collection.updateOne({key:value}, { $set: { key: value }})
# 修改符合条件所有文档数据
db.collection.updateMany({key:value}, { $set: { key: value }})
// 字段的值的自增和自减
db.collection.updateOne({key:value}, { $inc: { key: 1 }})
db.collection.updateMany({key:value}, { $inc: { key: 1 }})
自增长