Database

[{_id:"doc1",score:29,length:7,time:3},{_id:"doc2",score:19,length:11,time:13},{_id:"doc3",score:3,length:7,time:13}]

Query

db.collection.aggregate({$group:{_id:null,allDocs:{$push:"$$ROOT"},maxScore:{$max:"$score"},maxTime:{$max:"$time"},maxLength:{$max:"$length"}}},{$addFields:{allDocs:{$map:{input:"$allDocs",as:"d",in:{"$switch":{"branches":[{"case":{$eq:["$$d.score","$maxScore"]},"then":{"$mergeObjects":["$$d",{"scoreVal":"maxScore"}]}},{"case":{$eq:["$$d.time","$maxTime"]},"then":{"$mergeObjects":["$$d",{"timeVal":"maxTime"}]}},{"case":{$eq:["$$d.length","$maxLength"]},"then":{"$mergeObjects":["$$d",{"lengthVal":"maxLength"}]}},],default:"$$d"}}}}}},{$unset:["_id","maxScore","maxTime","maxLength"]},{$unwind:"$allDocs"})

Result