Database

[{_id:"611a20dfcfbd65f2fbc4aad8","name":"John","skill":"sql","birth":"2000-07-01"},{_id:"611a20dfcfbd65f2fbc4aadb",name:"David",skill:"java",birth:"1993-06-08"},{_id:"611a20dfcfbd65f2fbc4aade",name:"Tom",skill:"C#",birth:"1990-12-15"},{_id:"611a20dfcfbd65f2fbc4aae1",name:"John",skill:"js",birth:"2000-07-01"},{_id:"611a20dfcfbd65f2fbc4aae4",name:"Tom",skill:"sql",birth:"1990-12-15"},{_id:"611a20dfcfbd65f2fbc4aae7",name:"John",skill:"java",birth:"2000-07-01"}]

Query

db.collection.aggregate([{$group:{_id:"$name",doc:{$first:"$$ROOT"},skillArray:{$push:"$skill"},}},{$replaceWith:{$mergeObjects:["$doc",{skill:{$reduce:{input:"$skillArray",initialValue:"",in:{$concat:["$$value",{$cond:[{$eq:["$$value",""]},"",", "]},"$$this"]}}}}]}},{$sort:{birth:-1}}])

Result