1、db.collection.updateMany() 修改集合中的多个文档。
db.getCollection('user').find({"pId":"3332a512df604a74a72f267cf246"}).updateMany({"pId":"c8018dd802a644a19517790336f"})
2、模糊查询
db.getCollection('user').find({name:{$regex:"AA"}})
db.getCollection('user').find({"name":{ $regex:/AA/ }})
db.getCollection('user').find({name:/AA/})
3、查询name是否为AA,BB,CC,DD的记录
db.getCollection('user').find({"name":{$in:["AA","BB","CC","DD"]}}) //属于 - in
db.getCollection('user').find({"name":{$nin:["AA","BB","CC","DD"]}}) //不属于 - nin
4、按照时间排序
db.getCollection('user').find({name:{$regex:"AA"}}).sort({ lastUpdatedTime : 1 }) //时间正序
db.getCollection('user').find({name:{$regex:"AA"}}).sort({ lastUpdatedTime : -1 }) //时间倒序
5、字段是否存在
db.getCollection('user').find({age:{$exists:true}})
6、对数组中的某一个元素进行查询
db.getCollection('template').find({"content.pages.questions.type":"A"})
7、limit() 和skip() 方法操作
使用limit() 方法来读取指定数量的数据,limit方法接受一个数字参数作为读取的记录条数
使用skip() 方法来跳过指定数量的数据,skip方法接受一个数字参数作为跳过的记录条数
db.getCollection('user').find({}).limit(5).skip(1) — 跳过第1条,展示第2条到第6条
8、时间范围查询
greater than(大于)
less than(小于)
(>) 大于 - $gt
(
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte
db.getCollection('student').find({"createdTime":{$lt:new Date(2019,8,16)}}) //创建时间在2019.8.16之前的记录
db.getCollection('student').find({"createdTime":{$lte:new Date(2019,8,31),$gte:new Date(2019,3,1)}}) //创建时间在2019.3.1到2019.8.31之间的记录
9、更新语句,如果你要修改多条相同的文档,则需要设置 multi 参数为 true
db.getCollection('user').update({"name":"张三"},{$set:{"name":"李四"}},{multi:true})
10、具体查询文档中某个字段内包含的具体值
db.getCollection('user').find({"content.studentId.username" : "AA"})