arrays - 将 'array of objects' 映射到一个简单的键值数组

标签 arrays mongodb mongodb-query aggregation-framework

我是 mongoDB 聚合管道的新手,有一个非常基本的问题,但无法在任何地方找到答案。我想简单地转换以下 block :

"exclude" : [
            {
                "name" : "Accenture"
            }, 
            {
                "name" : "Aon Consulting"
            }
        ]

至:

"exclude" : [
            "Accenture",
            "Aon Consulting"
        ]

使用聚合管道,但即使在阅读 https://docs.mongodb.com/manual/reference/operator/aggregation/ 上的文档后我似乎也找不到如何做到这一点。感谢您的帮助。

最佳答案

虽然@chridam的答案是正确的,但没有必要使用$map。 简单的 $addFields/$project 就足够了:

db.collection.aggregate([
    {
        $addFields: {
            exclude : '$exclude.name'
        }
    }
])

关于arrays - 将 'array of objects' 映射到一个简单的键值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46466409/

相关文章:

c - 初始化字符串值 vector

node.js - Mongoose,按引用属性对结果进行排序

Mongodb:在 $convert 中不支持从数组到 objectId 的转换,没有 onError 值

python - Mongo 嵌入式文档查询

Mongodb group by 和 sum 并使用 Map 获取媒体

node.js - 获取 MongoDB 中特定月份和特定年份的文档

javascript - 每次调用 onclick 函数时显示不同的文本

Javascript - 如何在表单上方显示数组的值?

python - 获取特定键的所有值

将 double 值转换为 C 中的字符数组