在MongoDB中将数组转换为对象数组

时间:2019-07-27 13:09:40

标签: mongodb aggregation-framework

我想将MongoDB中每个文档中的数组(用户)转换为对象数组。

示例

_ID: 101
users: ["user1", "user2", "user3", "user4"]
dataObj: {}

放入这样的对象数组中,因此我可以为每个用户设置其他属性。

_ID: 101
users: [{user: "user1", name: null, age: null}, 
        {user: "user2", name: null, age: null},
        {user: "user3", name: null, age: null},
        {user: "user4", name: null, age: null}]
dataObj: {}

尝试使用内置地图功能

Profiles.aggregate([
            {
                $project: {
                    users: {
                        $map: {
                            input: '$users',
                            as: 'user',
                            in: { $set: { user: '$$user', name: null, age: null } }
                        }
                    }
                }
            }
        ])

但是它似乎不起作用:/

0 个答案:

没有答案