我正在使用mongodb 2.6 我的架构
{
list:[
{ Sno:1,
sublist:[
{
subid:"1"
dats:"result"
},
{
subid:"2"
dats:"result"
}
]
},
{ Sno:2,
sublist:[
{
subid:"3"
dats:"result"
},
{
subid:"4"
dats:"result"
}
]
}
]
}
db.test.find({“list.sublist.subid”:2});
我想只返回像这样的匹配数据
我不知道如何使用mapreduce来解决这个问题
{
sublist:[
{
subid:"1"
dats:"result"
}
]
}
答案 0 :(得分:0)
您需要使用投影http://docs.mongodb.org/manual/tutorial/project-fields-from-query-results/
在您的情况下,请尝试使用$elemMatch
(http://docs.mongodb.org/manual/reference/operator/projection/elemMatch/#proj._S_elemMatch)
db.test.find( {},
{ sublist: { $elemMatch: { subid: "1" } } } )