如何查找嵌入数组的所有元素符合特定条件的所有文档?

时间:2013-03-21 17:18:17

标签: mongodb

我想编写一个查询,返回所有Foo个对象,这些对象没有完整设置为bar的所有true个对象。

以下是我正在处理的对象:

> db.Foo.find()
[
  {
    name: "foo1",
    bars: [
      { 
         name: "bar1", complete: true
      },
      { 
         name: "bar2", complete: false
      }
    ]
  },
  {
    name: "foo2",
    bars: [
      { 
         name: "barbo", complete: false
      }
    ]
  },
  {
    name: "foo3",
    bars: [
      { 
         name: "barbie", complete: true
      }
    ]
  }
]

在这种情况下,我希望查询只返回foo1foo2

我尝试了db.Foo.find({ "bars.complete": { $ne: false } }),这让我与我想要的相反(在这种情况下,它会返回foo1foo2。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好吧,我以前完全糊涂了自己,最后不得不把问题改成我正在寻找的东西。这就是我解决它的方法:

db.Foo.find({ "bars.complete": false })