Database
[{"_id":ObjectId("606e8dc19877ed1af853ec4d"),"Name":"Game3","Players":[{"Name":"Chris","Scores":[6,2,4,0,5,7]},{"Name":"Pete","Scores":[4,5,2,5,3,1,4]},{"Name":"Julia","Scores":[3,7,4,0]},{"Name":"Tom","Scores":[3,2,4,8,2,6,7]}]},{"_id":ObjectId("606e8d899877ed1af853ec4c"),"Name":"Game2","Players":[{"Name":"Margot","Scores":[1,0,0,0]},{"Name":"Pete","Scores":[0,0,1,1]},{"Name":"Michael","Scores":[0,0,0,0]},{"Name":"Jane","Scores":[0,0,1,0]}]},{"_id":ObjectId("606e8d449877ed1af853ec4b"),"Name":"Game1","Players":[{"Name":"Anne","Scores":[97,165,101,67]},{"Name":"Pete","Scores":[86,115,134,149]},{"Name":"Scott","Scores":[66,89,103,74]},{"Name":"Jane","Scores":[113,144,125,99]},{"Name":"Katie","Scores":[127,108,98,151]}]}]
Query
db.collection.aggregate([{$set:{Players:{$map:{input:"$Players",as:"x",in:{Name:"$$x.Name",TotalScore:{$sum:"$$x.Scores"}}}}}},{$unwind:"$Players"},{$sort:{"Players.TotalScore":-1}},{$group:{_id:"$Name",Winner:{$first:"$Players.Name"}}}])