undefined7887
undefined7887

Reputation: 111

Aggregate query result in mongodb

I have collection with documents like this one:

{  
   "_id": 1,
   "people": [  
      {  
         "name": "Bob",
         "age": "15"
      },
      {  
         "name": "Alice",
         "age": "18"
      }
   ]
}

My query is:

db.groups.aggregate({ $match: { "_id": 1 }}, { $project: { "_id": 0, "people.name": 1 } })

This query returns:

{  
   "people": [  
      {  
         "name": "Bob"
      },
      {  
         "name": "Alice"
      }
   ]
}

But I need the result like:

{ "names": [ "Bob", "Alice" ] }

Which parameters should I add to the .aggregate() function?

Upvotes: 0

Views: 1157

Answers (1)

undefined7887
undefined7887

Reputation: 111

The solution is:

db.groups.aggregate({ $match: { "_id": 1 }}, { $project: { "_id": 0, "names": "$people.name" } })

Upvotes: 1

Related Questions