Database
[{"_id":ObjectId("62441917d12596f96de163a2"),"managerId":1,"reportTypes":[{"reasonId":100,"count":2},{"reasonId":200,"count":3},{"reasonId":300,"count":4}]},{"_id":ObjectId("62441917d12596f96de163a3"),"managerId":2,"reportTypes":[{"reasonId":100,"count":20}]},{"_id":ObjectId("62441917d12596f96de163a5"),"managerId":3,"reportTypes":[{"reasonId":100,"count":5},{"reasonId":200,"count":10},{"reasonId":300,"count":0}]}]
Query
db.collection.aggregate([{$unwind:"$reportTypes"},{$sort:{"managerId":1,"reportTypes.count":-1}},{$group:{_id:"$managerId",reportTypes:{$push:"$reportTypes"},cnt:{$sum:"$reportTypes.count"}}},{$addFields:{managerId:"$_id"}},{$sort:{cnt:-1}},{$project:{managerId:1,reportTypes:1}}])