查询嵌入式文档数组

时间:2017-05-31 01:50:30

标签: arrays mongodb mongodb-query

测试集合有一个文档。

db.test.insert({
     "_id" : ObjectId("5922bd14ff3ee9313229ac18"),
     "O" : [
             {
                     "A" : "Field_1",
                     "B" : "Unknown"
             },
             {
                     "A" : "Field_2",
                     "B" : "Unknown_Location"
             }
     ]

})

我希望只有当A和B过滤器在其中一个文档中匹配时才会返回此条目。

例如,TEST CASE 1:

db.test.find({"O.A" : "Field_2", "O.B" : "Unknown_Location"}).count()
1
db.test.find({"O.A" : "Field_1", "O.B" : "Unknown"}).count()
1

测试案例2 但是以下查询也会返回此条目,这会导致问题:

db.test.find({"O.A" : "Field_1", "O.B" : "Unknown_Location"}).count()
1

非常感谢帮助。

此问题与Retrieve only the queried element in an object array in MongoDB collection不同 在那个问题中,问题是检索一个部分,并通过预测匹配文档的一部分来解决。

我的问题是TEST CASE 2中的匹配是不需要的,我需要相应地更改我的查询。

0 个答案:

没有答案