Database

[{_id:"60b223541338467beaf3ae0d",studentName:"John Doe",studentGradingDetails:[{_id:"60b21e47e5462929cab27a98",term:"semester-1",subject:"chemistry",grade:"A",createdAt:"2021-05-29T10:58:15.113Z",},{_id:"60b21e47e5462929cab27a99",term:"semester-2",subject:"computer_science",grade:"B",createdAt:"2021-05-29T10:58:15.113Z",},],createdAt:"2021-05-29T11:19:48.770Z",},{_id:"60b223541338467beaf3ae0e",studentName:"Will Smith",studentGradingDetails:[{_id:"60b21e47e5462929cab27a98",term:"semester-1",subject:"chemistry",grade:"D",createdAt:"2021-05-29T10:58:15.113Z",},{_id:"60b21e47e5462929cab27a99",term:"semester-2",subject:"computer_science",grade:"A",createdAt:"2021-05-29T10:58:15.113Z",},],createdAt:"2021-05-29T11:19:48.770Z",}]

Query

db.collection.aggregate([{$unwind:"$studentGradingDetails"},{$group:{_id:{_id:"$studentGradingDetails._id",grade:"$studentGradingDetails.grade"},count:{$sum:1}}},{$group:{_id:"$_id._id",grades:{$push:{k:"$_id.grade",v:"$count"}}}},{$replaceRoot:{newRoot:{$mergeObjects:[{_id:"$_id"},{$arrayToObject:"$grades"}]}}}])

Result