Mongodb 在子文档中按对查找

Mongodb 在子文档中按对查找,mongodb,Mongodb,我不确定题目读起来是否正确。无论如何,我的收藏中的文档如下所示: { properties: [ {name:a, value:w}, {name:b, value:x}, {name:c, value:y}, {name:d, value:z} ] } 如何找到符合此条件的文档:“(Where properties.name=a,properties.value=x)和(Where properties.name=c,properties.value=

我不确定题目读起来是否正确。无论如何,我的收藏中的文档如下所示:

{
  properties: [
    {name:a, value:w},
    {name:b, value:x},
    {name:c, value:y},
    {name:d, value:z}
  ]
}

如何找到符合此条件的文档:“(Where properties.name=a,properties.value=x)和(Where properties.name=c,properties.value=y)”?

尝试下面的查询。注意,子文档{name:“b”,value:“x”}中元素的顺序很重要:

db.foo.find({properties:{$all:[{name:"b", value:"x"}, {name:"c", value:"y"}]}})
或者下面的查询更好(子文档的顺序无关紧要):

db.foo.find({properties:{$all:[{$elemMatch:{name:"b", value:"x"}}, {$elemMatch:{name:"c", value:"y"}}]}})