MongoDB $nin + $elemMatch behaviour



当尝试在。net中与$elemMatch进行$nin匹配时,我没有得到任何结果。我重新构造了Mongo Playground的语句。

我猜我错过了$nin周围的东西,但在文档中找不到任何东西。

这篇文章是在讨论这个问题,但是如果你用有效的排除设置数据,他们给出的解决方案就不起作用了。

我已经阅读了关于这个问题的文档和一些帖子,我假设我对$nin和$elemMatch如何工作的知识存在差距,我希望有人能指出我正确的方向,并可能修复mongo playground上的例子。

您误解了$elemMatch的行为。如果任意$elemMatch将返回文档

对于您期望的行为,您可以简单地执行:

db.collection.aggregate([
{
$match: {
"ingredient.name": {
$nin: [
"X"
]
}
}
}
])

Mongo操场

相关内容

  • 没有找到相关文章

最新更新