我希望能够查询不包含数组中任何元素的字段。
例如,我有一个对象数组(地点):
db.collection.aggregate([{ $match: { roomNo: {$ne:venue}}},
])
如何访问对象中的数组并使用$ ne查询?
有没有办法做到这一点? 使用上述方法无法实现我想要的。
答案 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}}
}
])
尝试