
mongodb.find 常用的条件设置语句:
1.简单查询:
db.user.find({name:'11111',age;20});
2.and or选择器用法
db.user.find({$or:[{'name':'lv'},{'name':'chen'}]})
db.user.find({$and:[{'timestamp':{$gte:1522252800}},{'timestamp':{$lte:1522857600}},{'money':6}]})
3.$gt(>) 大于
4.$gte(>=) 大于等于
5.$lt(<) 小于
6.$lte(<=) 小于等于
7.$ne(!=) 不等于
db.user.find({'name':{$ne:'lv'}});
db.user.find({'age':{$gt:20,$lt:30}})
嵌入文档的精准查询:
db.user.find({favoriters:{artist:"picasso",food:"pizza"}})
匹配一个嵌入文档中的字段:
db.user.find({'favoriters.artist':"picasso"})
1.在一个数组上匹配:
先提供一个文档以供测试:
{ "name":"lv", "age":20, "type":1, "status":"p", "favorites":{"artist" : "picasso","food":"pizza"}, "badges":["blue","black"], "finidhed":[17,3], "points":[{"points":85,"bonus":20},{"points":85,"bonus":10}] }
1.文档中数组匹配
db.user.find({"badges":"blue"})
2.查询数组中某个特定数据中的值
db.user.find({"badges.0":"blue"})
3.数组的范围匹配查询
db.user.find({"finished":{$elemMatch:{$gt:15,$lt:20}}}) //查询finished中是否有元素a满足a>15 && a<20
db.user.find({"finished":{$gt:15,$lt:20}}) //查询finished中是否有元素a满足a>15,元素b满足b<20
4.嵌入数组的文档查询
db.user.find({"points.0.points":{$gte:55}}) //匹配points数组中下标为0的元素中的points>=55的所有数据
db.user.find({"points.points":{$gte:55}}) //匹配points数组中任何一个元素满足points>=55的所有数据
5.嵌入数组的文档的多条件查询
db.user.find({"points":{$elemMatch:{"points":{$gte:53},"bonus":20}}}) //匹配points数组中是否有元素a.points>=53同时a.bonus=20的元素
db.user.find({"points.points":{$gte:53},"bonus":20})
//匹配points数组中是否有元素a.points>=53和有元素b.bonus=20的元素(a,b元素可以是同一个元素也可以非同一个元素)



本文地址:https://blog.hellozwh.com/?post=367
版权声明:若无注明,本文皆为“起点终站”原创,转载请保留文章出处。

