文档?并且是mongodb聚合中的$ nin?

时间:2018-01-12 03:29:30

标签: mongodb aggregation-framework

对于关于运算符表达式的4.6 mongo聚合文档,提到了$ in,并且提到了$ not但未提及$ nin。 Sample usage of the "android.app.Application.ActivityLifecycleCallbacks" class.

$ nin解释了在文档中查找和更新。 How to use ActivityLifecycleCallbacks in Application Class

对于那些使用访问解决方案登录的人来说,使用$ nin和聚合示例给出了jira。 https://docs.mongodb.com/v3.6/meta/aggregation-quick-reference/#agg-quick-ref-operator-expressions

但是$ nin是一个有效的操作,因为它不在文档中。 或者作为替代方案,$ in和$ not,合并返回文件与$ nin功能?

示例:

db.collection("collection).aggregate([
{
  $match {
    'fieldname': {$nin: ['10', '20','2']}
  }
}
])

替代示例,

db.collection("collection).aggregate([
{
  $project: {
    "store location" : "$location",
    "has bananas" : { $in: [ "bananas", "$in_stock" ] }
  }
}
{
  $match: { "has bananas": 0 }
}
])
哇,当我写这个例子时,我想我已经弄明白了。 如果我想要$ nin,我应该匹配$ in返回false的位置。

希望仍然有理由发布这个问题,因为它给我带来了困惑,可能会混淆其他人。 问候,Michael Dimmitt

1 个答案:

答案 0 :(得分:0)

db.collection("collection).aggregate([
{
  $project: {
    "store location" : "$location",
    "has bananas" : { $in: [ "bananas", "$in_stock" ] }
  }
}
{
  $match: { "has bananas": 0 }
}
])
哇,当我写这个例子时,我想我已经弄明白了。

如果我想要$ nin,我应该匹配$ in返回false的位置。

希望仍然有理由发布这个问题,因为它给我带来了困惑,可能会让其他人感到困惑。

如果此解决方案不正确且可以证明我会将正确的解决方案标记为答案。 问候,Michael Dimmitt https://docs.mongodb.com/v3.6/reference/operator/aggregation/in/