A-A+

mongodb逻辑操作(多个 or,and)

2016年08月02日 数据库 暂无评论 阅读 42 次

mongodb逻辑操作(多个 or,and):

mongodb中的单个AND和OR,逻辑操作:

1、例如在集合XXX中寻找名字为BuleRiver或者BuleRiver2的信息:

db.XXX.find({"$or":[{"name":"BuleRiver"}, {"name":"BuleRiver2"}]});

2、例如在集合XXX中寻找名字为BuleRiver且level为1的信息:

db.XXX.find({"name":"BuleRiver", "level":1});

mongodb 中多个AND和OR,逻辑操作:

1、例如a>1 and b>2 or c>3 and d>4 的逻辑查询:

db.example.find({
    '$or':[
       {'$and':[{'example.a':{'$gt':1}},{'example.b':{'$gt':2}}]},
       {'$and':[{'example.c':{'$gt':3}},{'example.d':{'$gt':4}}]}
    ]
})

2、错误写法:

{
  $or: [{a: 2}, {a: 3}],
  $or: [{b: 5}, {b: 4}]
}

修正写法:

{
    $and: [
        {
            $or : [{'a':1},{'b':2}]
        },
        {
            $or : [{'a':2},{'b':3}]
       }
    ]
}

资料参考:https://segmentfault.com/q/1010000000620645等,C/C++程序员之家MongoDB

给我留言