在mongo db聚合中使用$ not

时间:2020-03-13 18:03:12

标签: mongodb mongodb-query aggregation-framework

mongo数据库聚合的新功能:

在mongodb聚合中尝试过$and $or,但无法弄清楚如何使用$not

尝试$and $or就像这样:


{$match: {
    $or: [
        {_id:ObjectId("5ab9cbe531c2ab715d42129a")},
        {_id:ObjectId("5ab9cbe531c2ab715d42129a")},
    ]
}}

它起作用了,但是如果我用$not尝试了同样的事情,那是行不通的

1 个答案:

答案 0 :(得分:1)

您可以运行$in而不是运行$or

{
    $match: {
        _id: {
           $in: [
              ObjectId("5ab9cbe531c2ab715d42129a"),
              ObjectId("5ab9cbe531c2ab715d42129a")
           ]
        }
    }
}

相反,您可以尝试$nin

{
    $match: {
        _id: {
           $nin: [
              ObjectId("5ab9cbe531c2ab715d42129a"),
              ObjectId("5ab9cbe531c2ab715d42129a")
           ]
        }
    }
}

Mongo Playground