获取数组mongodb中的特定字段并返回数组

时间:2015-09-30 18:17:35

标签: mongodb mongodb-query aggregation-framework mongoskin

我有以下文件:

{
    array: [
        {
            type: 'error',
            data: 1
        },
        {
            type: 'error',
            data: 2
        }
    ]
}

无论如何,我只获取每个数组元素中的数据字段并将其作为数组返回?如下所示:

[1, 2] // <--- array containing only the data fields

mongodb projection documentation似乎没有涵盖这个?

1 个答案:

答案 0 :(得分:2)

您可以使用聚合和$map运算符。

db.collection.aggregate([
    { 
        "$project": { "_id": 0, "data": { 
            "$map": { "input": "$array", "as": "ar", "in": "$$ar.data" } } }
    }
])

哪个收益率:

{ "data" : [ 1, 2 ] }