Database
[{"_id":1,"name":"Sally","age":18},{"_id":2,"name":"Bob","age":18},{"_id":3,"name":"Bob","age":18}]
Query
db.collection.aggregate([{$match:{name:{$in:["Bob","Sally"]}}},{$group:{"_id":"$name",fields:{$push:{name:"$name",age:"$age"}}}},{$sort:{_id:-1}},{$group:{_id:null,fields:{$push:{k:"$_id",v:"$fields"}}}},{$replaceRoot:{newRoot:{$reduce:{input:"$fields",initialValue:{},in:{$mergeObjects:["$$value",{$arrayToObject:[["$$this"]]}]}}}}}])