【发布时间】:2017-01-27 13:20:24
【问题描述】:
我在子文档中有这样的数组
{
"_id" : ObjectId("512e28984815cbfcb21646a7"),
"descDay" : [
{
"language" : "en",
"desc": "day description"
},
{
"language" : "es",
"desc": "descripcion del dia"
}
]
}
我想按语言过滤子文档。我可以这样做
db.test.aggregate([
{ $project: {
descDay: {$filter: {
input: '$list',
as: 'item',
cond: {$gt: ['$$item.language', 'en']}
}}
}}
])
这会给我类似的东西
{
"_id" : ObjectId("512e28984815cbfcb21646a7"),
"descDay" : [
{
"language" : "en",
"desc": "day description"
}]
}
但我需要 descDay 是一个文档而不是一个数组,像这样:
{
"_id" : ObjectId("512e28984815cbfcb21646a7"),
"descDay" :
{
"language" : "en",
"desc": "day description"
}
}
我怎样才能得到它?
【问题讨论】:
标签: node.js mongodb mongodb-query aggregation-framework mongodb-aggregation