我的收藏如下:
{
"_id" : ObjectId("54998c044cf76388944bcb56"),
"description" : "USP",
"type" : "FreeInput",
"localeData" : {
"Eng" : {
somedata.....
},
"Span" : {
somedata....
}
}
}
我想要做的是能够查询此对象,但过滤localeData
个对象。例如,我想指定" Eng"进入我的查询,然后得到以下结果对象:
{
"_id" : ObjectId("54998c044cf76388944bcb56"),
"description" : "USP",
"type" : "FreeInput",
"localeData" : {
"Eng" : {
somedata.....
}
}
}
没有聚合,有没有这样做?如果没有,那么我将如何进行聚合?我对整个聚合框架有点不稳定。我也使用spring数据mongodb。
答案 0 :(得分:0)
如果我理解你的问题,这是你的答案:
var fields = {"description" :1, "type": 1, "localeData.Eng" : 1};
db.test.find( {query} , fields)
和聚合你可以使用:
db.test.aggregate(
{
$match : {query}
},
{
$project : { "description" :1, "type": 1, "localeData.Eng" : 1 }
}
).result