Arrays 忽略字段mongodb请求

Arrays 忽略字段mongodb请求,arrays,node.js,mongodb,Arrays,Node.js,Mongodb,假设我们在mongodb集合中有这样的对象: { _id: 00000001 colors: ["green", "yellow"], houses: [ { number: 1, owner: "John" }, { number: 2, owner: "John" }, { number:3, owner: "Dave" } ] }, { _id: 00

假设我们在mongodb集合中有这样的对象:

{
  _id: 00000001
  colors: ["green", "yellow"],
  houses: [
    {
      number: 1,
      owner: "John"
    },
    {
      number: 2,
      owner: "John"
    },
    {
      number:3,
      owner: "Dave"
    }
  ]
},
{
  _id: 00000002
  colors: ["green", "red"],
  houses: [
    {
      number: 15,
      owner: "Dave"
    },
  ]
}
因此,要获取颜色数组包含绿色的每个对象,我需要编写的查询如下:
collection.find({colors:“green”})
现在,如果我想得到John拥有房子的所有对象,我将如何表述这样一个查询?
基本上,我要问的是,如果我的查询是
collection.find({houses:{owner:{John],number:?})
我需要用什么来替换
“?”
来告诉mongo我不在乎number的值是多少。 或者也许还有另一种方法我没有想到? 谢谢你的帮助!
(顺便说一句,这是一个虚构的示例,因此ID看起来很奇怪,而对象本身似乎不是很有用。)

要查询对象数组,可以使用,请尝试:


这确实奏效了,非常感谢,正是我想要的:)
db.collection.find({ "houses.owner": "John"}})