Database

[{_id:ObjectId("633199db009be219a43ae426"),name:"Max",examScores:[{difficulty:4,score:57.9},{difficulty:6,score:62.1},{difficulty:3,score:88.5},{difficulty:4,score:88.5}]},{_id:ObjectId("633199db009be219a43ae427"),name:"Manu",examScores:[{difficulty:7,score:52.1},{difficulty:2,score:74.3},{difficulty:5,score:53.1}]}]

Query

db.collection.aggregate([{$unwind:"$examScores"},{$setWindowFields:{partitionBy:"$name",sortBy:{"examScores.score":-1},output:{rank:{$rank:{}}}}},{$match:{rank:1}},{$unset:"rank"},{$group:{_id:"$name",data:{$first:"$$ROOT"}}},{$replaceWith:"$data"}])

Result