我有以下文件:
{
array: [
{
type: 'error',
data: 1
},
{
type: 'error',
data: 2
}
]
}
无论如何,我只获取每个数组元素中的数据字段并将其作为数组返回?如下所示:
[1, 2] // <--- array containing only the data fields
mongodb projection documentation似乎没有涵盖这个?
答案 0 :(得分:2)
您可以使用聚合和$map
运算符。
db.collection.aggregate([
{
"$project": { "_id": 0, "data": {
"$map": { "input": "$array", "as": "ar", "in": "$$ar.data" } } }
}
])
哪个收益率:
{ "data" : [ 1, 2 ] }