我有以下mongodb条目:
{
'someKey': 'someValue',
'array' : [
{'name' : 'test1',
'value': 'value1'
},
{'name' : 'test2',
'value': 'value2'
}
]
}
为name ='test2'找到'value'的最短查询是什么?
答案 0 :(得分:1)
由于您正在查询元素数组,并且您希望过滤的元素只是展开并匹配:
db.CollectionName.aggregate( [ { $unwind : "$array" } ,{$match:{'array.name':'test1'}} ])
这会给你一个这样的结果:
{
"_id" : ObjectId("59df5b30646afdfce4084152"),
"someKey" : "someValue",
"array" : {
"name" : "test1",
"value" : "value1"
}
}