Database

[/**say we want to classify each document*//**achievements:["maxscore", "maxLength"...]*/{_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"}}},{$unset:"_id"},{$unwind:"$allDocs"},{$addFields:{maxScore:{$cond:[{$eq:["$allDocs.score","$maxScore"]},"maxScore",null]},maxTime:{$cond:[{$eq:["$allDocs.time","$maxTime"]},"maxTime",null]},maxLength:{$cond:[{$eq:["$allDocs.length","$maxLength"]},"maxLength",null]}}},{$addFields:{"allDocs.achievements":["$maxTime","$maxLength","$maxScore"]}},{$unset:["maxTime","maxLength","maxScore"]},{$addFields:{"allDocs.achievements":{$filter:{"input":"$allDocs.achievements",as:"a",cond:{$ne:["$$a",null]}}}}})

Result