mongodb逻辑操作(多个 or,and)
mongodb中的单个AND和OR,逻辑操作:
1、例如在集合XXX中寻找名字为BuleRiver或者BuleRiver2的信息:
1 |
db.XXX.find({"$or":[{"name":"BuleRiver"}, {"name":"BuleRiver2"}]}); |
2、例如在集合XXX中寻找名字为BuleRiver且level为1的信息:
1 |
db.XXX.find({"name":"BuleRiver", "level":1}); |
mongodb 中多个AND和OR,逻辑操作:
1、例如a>1 and b>2 or c>3 and d>4 的逻辑查询:
1 2 3 4 5 6 |
db.example.find({ '$or':[ {'$and':[{'example.a':{'$gt':1}},{'example.b':{'$gt':2}}]}, {'$and':[{'example.c':{'$gt':3}},{'example.d':{'$gt':4}}]} ] }) |
2、错误写法:
1 2 3 4 |
{ $or: [{a: 2}, {a: 3}], $or: [{b: 5}, {b: 4}] } |
修正写法:
1 2 3 4 5 6 7 8 9 10 |
{ $and: [ { $or : [{'a':1},{'b':2}] }, { $or : [{'a':2},{'b':3}] } ] } |
资料参考:https://segmentfault.com/q/1010000000620645等,C/C++程序员之家,MongoDB