Database

[{"_id":ObjectId("62406bfaa1d66f8d99c6e97d"),"skill":"Programming Language","supply":[{"employeeName":"A1","avgSkillRating":3},{"employeeName":"A2","avgSkillRating":4},{"employeeName":"A3","avgSkillRating":4},{"employeeName":"A4","avgSkillRating":4},{"employeeName":"A5","avgSkillRating":3},{"employeeName":"A6","avgSkillRating":4},{"employeeName":"A7","avgSkillRating":2},{"employeeName":"A8","avgSkillRating":2},{"employeeName":"A9","avgSkillRating":4},{"employeeName":"A10","avgSkillRating":3},{"employeeName":"A11","avgSkillRating":3},{"employeeName":"A12","avgSkillRating":3},{"employeeName":"A13","avgSkillRating":2},{"employeeName":"A14","avgSkillRating":4},{"employeeName":"A15","avgSkillRating":4}]}]

Query

db.collection.aggregate([{"$unwind":"$supply"},{"$group":{"_id":{"_id":"$_id","avg":"$supply.avgSkillRating"},"count":{"$count":{}},"skillName":{"$first":"$skill"}}},{"$group":{"_id":"$_id._id","skillName":{"$first":"$skillName"},"data":{"$push":{"_r":"$_id.avg","k":{$concat:["skillRating",{$toString:"$_id.avg"}]},v:"$count"}}}},{"$set":{"data":{"$map":{"input":{"$range":[1,6]},"as":"rate","in":{"$let":{"vars":{"idx":{"$indexOfArray":["$data._r","$$rate"]}},"in":{"$cond":[{"$gte":["$$idx",0]},{"k":{"$getField":{"field":"k","input":{"$arrayElemAt":["$data","$$idx"]}}},"v":{"$getField":{"field":"v","input":{"$arrayElemAt":["$data","$$idx"]}}}},{"k":{$concat:["skillRating",{$toString:"$$rate"}]},"v":0}]}}}}}}},{"$set":{"data":{"$arrayToObject":"$data"}}},{"$replaceWith":{"$mergeObjects":["$$ROOT","$data"]}},{"$unset":["data","_id"]}])

Result