有没有一种方法可以使用$ ne检查字段是否包含数组中的任何元素? (MongoDB)

时间:2019-04-26 15:46:04

标签: node.js mongodb

我希望能够查询不包含数组中任何元素的字段。

例如,我有一个对象数组(地点):

db.collection.aggregate([{ $match: { roomNo: {$ne:venue}}},

                    ])

如何访问对象中的数组并使用$ ne查询?

有没有办法做到这一点? 使用上述方法无法实现我想要的。

2 个答案:

答案 0 :(得分:0)

在查询中使用 $ nin 例如: db.collection.find({roomNo:{$ nin:[5,15]}})

答案 1 :(得分:0)

此示例有效:

db.collection.save({ roomNo : 1, floor : 1})
db.collection.save({ roomNo : 2, floor : 1})
db.collection.save({ roomNo : 3, floor : 1})

db.collection.aggregate([
    {
        $addFields: {venue: [2,3]}
    },
    {
        $match: { roomNo: {$nin : venue}}
    }
])

尝试