Database

[{"playerName":"Tiger Woods","comp":{"name":"US Open 2021","courseId":"608952e3abebbd503ba6e115","scoringMethod":"Stableford","tees":"Blue","courseName":"MAGC Middle 9","roundNo":2,"id":{"$oid":"607019361c071256e4f0d0d5"}},"holes":[{"blue":431,"holeNett":4,"par":4,"holeGross":5,"no":1,"holeNettPoints":2,"yellow":420,"si":2,"holeStrokes":1,"white":444,"red":399},{"blue":335,"holeNett":5,"par":4,"holeGross":5,"no":2,"holeNettPoints":1,"yellow":320,"si":8,"holeStrokes":0,"white":350,"red":295},{"blue":385,"holeNett":4,"par":4,"holeGross":5,"no":3,"holeNettPoints":2,"yellow":362,"si":4,"holeStrokes":1,"white":400,"red":343},{"blue":161,"holeNett":3,"par":3,"holeGross":3,"no":4,"holeNettPoints":2,"yellow":144,"si":7,"holeStrokes":0,"white":180,"red":105},{"blue":461,"holeNett":5,"par":5,"holeGross":6,"no":5,"holeNettPoints":2,"yellow":439,"si":1,"holeStrokes":1,"white":473,"red":418},{"blue":330,"holeNett":4,"par":4,"holeGross":4,"no":6,"holeNettPoints":2,"yellow":300,"si":9,"holeStrokes":0,"white":337,"red":281},{"blue":381,"holeNett":6,"par":4,"holeGross":6,"no":7,"holeNettPoints":0,"yellow":363,"si":5,"holeStrokes":0,"white":390,"red":290},{"blue":152,"holeNett":3,"par":3,"holeGross":3,"no":8,"holeNettPoints":2,"yellow":140,"si":6,"holeStrokes":0,"white":167,"red":131},{"blue":366,"holeNett":3,"par":4,"holeGross":4,"no":9,"holeNettPoints":3,"yellow":344,"si":3,"holeStrokes":1,"white":396,"red":327}],"playerId":"609d0993906429612483cea0","holeCount":9,"countbackScores":[16,11,5,2],"team":"magc","date":"2021-05-20T23:00:00+00:00","computedScore":16,"computedThru":9,"_id":{"$oid":"60a6aa828078924a6065dc9e"}}]

Query

db.collection.aggregate([{$match:{"comp.id":ObjectId("607019361c071256e4f0d0d5"),"playerId":"609d0993906429612483cea0","comp.courseId":"608952e3abebbd503ba6e115"}},{$unwind:{path:"$holes"}},{$group:{_id:{playerId:"$playerId",courseId:"$comp.courseId",no:"$holes.no"},holeNettPoints:{$max:"$holes.holeNettPoints"}}},{$group:{_id:"$_id.playerId",courseId:{$first:"$_id.courseId"},holes:{$push:{no:"$_id.no",holeNettPoints:"$holeNettPoints"}},total:{$sum:"$holeNettPoints"}}}])

Result