获取数据时没有,和

时间:2017-06-23 06:06:26

标签: mongodb mongodb-query

MongoDB使用not获取数据,如何获取INID的值不等于1且SESSION不等于1(需要匹配同一文档中的INID和SESSION)。

例如:

{
    "_id" : ObjectId("5946800b962d74070729407a"),
    "INID" : 2,
    "SESSION" : 1,
    "TD" : ISODate("2017-06-18T13:28:43.409Z"),
    "ID" : 2,
    "OUT" : [ 
        {
            "score" : 50,
            "id" : "0",
            "out" : {
                "status" : "unreachable"
            }
        }
    ]
}

{
    "_id" : ObjectId("5946800b962d74070729407a"),
    "INID" : 3,
    "SESSION" : 1,
    "TD" : ISODate("2017-06-18T13:28:43.409Z"),
    "ID" : 2,
    "OUT" : [ 
        {
            "score" : 50,
            "id" : "0",
            "out" : {
                "status" : "unreachable"
            }
        }
    ]
}

{
    "_id" : ObjectId("5946800b962d74070729407a"),
    "INID" : 1,
    "SESSION" : 1,
    "TD" : ISODate("2017-06-18T13:28:43.409Z"),
    "ID" : 2,
    "OUT" : [ 
        {
            "score" : 50,
            "id" : "0",
            "out" : {
                "status" : "unreachable"
            }
        }
    ]
}

我想要前两个文件。

1 个答案:

答案 0 :(得分:1)

嗯,这对我有用:

db.yourCollectionName.find(
    { $or : [ { INID : {$gt: 1} }, { SESSION : {$gt: 1} } ] }
)

使用此查询,您可以使INID大于1或SESSION大于1或大于1。你为什么要否定?

我想你也可以这样做:

db.yourCollectionName.find(
    { $or : [ { INID : {$ne: 1} }, { SESSION : {$ne: 1} } ] }
)