当尝试在。net中与$elemMatch进行$nin匹配时,我没有得到任何结果。我重新构造了Mongo Playground的语句。
我猜我错过了$nin周围的东西,但在文档中找不到任何东西。
这篇文章是在讨论这个问题,但是如果你用有效的排除设置数据,他们给出的解决方案就不起作用了。
我已经阅读了关于这个问题的文档和一些帖子,我假设我对$nin和$elemMatch如何工作的知识存在差距,我希望有人能指出我正确的方向,并可能修复mongo playground上的例子。
您误解了$elemMatch
的行为。如果任意,$elemMatch
将返回文档
对于您期望的行为,您可以简单地执行:
db.collection.aggregate([
{
$match: {
"ingredient.name": {
$nin: [
"X"
]
}
}
}
])
Mongo操场