我创建了一个具有以下结构的数据库
{
"_id" : ObjectId("54167c9a4420660b672d2a3f"),
"a" : "1111",
"pc" : [
[
"bb",
"aa",
{
"c" : "cc",
"d" : "dd"
},
{
"c" : "aaa",
"d" : "ddd"
},
],
[
"cc",
"dd",
{
"a" : "cc",
"b" : "dd"
},
{
"a" : "aaa",
"b" : "ddd"
},
}
]
]
}
我在mongodb版本2.4.6中使用了以下查询,它给出了正确的输出
db.cg.find({'pc':{'$elemMatch':{'$all':['aa','bb']}}})
但我在mongodb版本2.6.1中使用的查询相同,它既没有抛出任何错误也没有给出任何结果
答案 0 :(得分:0)
我认为这是$elemMatch
的错误或缺失功能。我同意您的查询应返回该文档,并在MongoDB 2.4.10(找到),最新的稳定版2.6.4(未找到)和最新的不稳定版2.7.6(未找到)中重现您的结果。我认为$elemMatch
尚未完全实现匹配的非对象类型(在本例中是一个数组)。你可以在核心服务器项目中file a ticket请问这个问题中的信息,然后在这里发布一个链接吗?