获取数组 mongodb 和 return 中的特定字段作为数组

Get specific field in array mongodb and return as array

我有以下文件:

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

我是否可以只获取每个数组元素中的数据字段并将其 return 作为数组?像下面这样:

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

mongodb projection documentation 好像没有涵盖这个?

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

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

产生:

{ "data" : [ 1, 2 ] }