1

I want to convert an array (users) in every document in MongoDB into an array of objects.

Example

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

into an array of objects like this, so I can set additional properties for each user.

_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: {}

Trying to use the built-in map function

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

But it doesn't seem to be working :/

mickl
  • 48,568
  • 9
  • 60
  • 89
Steven
  • 731
  • 1
  • 6
  • 15

0 Answers0