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

psy*_*ykx 2 mongodb mongodb-query

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

db.sites.find({ "$expr": { '_id': { "$not": { "$in": "$excluded"} } } });
Run Code Online (Sandbox Code Playgroud)

我没有使用$nin,因为它是不允许的$expr

我收到以下错误消息:

Error: error: {
    "ok" : 0,
    "errmsg" : "Expression $in takes exactly 2 arguments. 1 were passed in.",
    "code" : 16020,
    "codeName" : "Location16020"
}
Run Code Online (Sandbox Code Playgroud)

我可以用$where这个代替吗?

mic*_*ckl 6

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

db.sites.find({ $expr: { $not: { $in: [ "$_id", "$excluded" ] } } })
Run Code Online (Sandbox Code Playgroud)

工作示例在这里