不在$ expr的文档字段数组mongodb中

时间:2019-03-20 12:50:41

标签: mongodb mongodb-query

我正在尝试获取数组_id中没有excluded的所有文档。

db.sites.find({ "$expr": { '_id': { "$not": { "$in": "$excluded"} } } });

我不使用$nin,因为$expr不允许使用它。

我收到以下错误消息:

Error: error: {
    "ok" : 0,
    "errmsg" : "Expression $in takes exactly 2 arguments. 1 were passed in.",
    "code" : 16020,
    "codeName" : "Location16020"
}

我可以使用$where代替吗?

1 个答案:

答案 0 :(得分:2)

$in运算符需要两个参数:

db.sites.find({ $expr: { $not: { $in: [ "$_id", "$excluded" ] } } })

工作示例here