查询关键字
并列查询$and
# 条件都成立才可以查询到结果 db.stutent.find({$and:[{name:"小漩涡"},{age:30}]})
或查询$or
# 有一个条件成立就可以查询到结果 db.stu.find({$or:[{name:"绿绿"},{name:"小黑"}]})
子查询$all
all后面列表中的元素部分顺序,只要在test_list中存在就可以查询到所有结果
> db.stutent.find({"test_list":{$all:[1,"五"]}}) { "_id" : ObjectId("5d2eee1314ff51d814e40365"), "name" : "小漩涡", "age" : 30, "test_list" : [ 1, 2, 3, 4, "五", 1000 ], "hobby" : [ "烫头" ] }
范围查询$in
["绿绿","黑黑","红红","小黑"] # 只要符合列表中的名字全部查找出来 db.stu.find({name:{$in:["绿绿","黑黑","小红","小黑"]}})
排序/选取/跳过
排序:sort db.stu.find().sort({ age:1 }) 1正序 -1倒序 选取:limit db.stu.find().limit(2) 选取两条数据 跳过:skip db.stu.find().skip(2) 跳过前两条数据 选择中间两条 or 跳过前N条 db.stu.find().skip(0).limit(2).sort({ age:-1 }) 优先级:先排序 - 跳过 - 选取 # 分页 var page = 1 var num = 2 var sk = (page-1) * num db.stu.find().skip(sk).limit(num).sort({ age:-1 })