Database

[{pid:"erwer",qty:3,LevelDetails:{level1:{userId:1,amount:10},level2:{userId:2,amount:20},level3:{userId:3,amount:13},}},{pid:"qwsdfg",qty:1,LevelDetails:{level1:{userId:1,amount:10},level2:{userId:4,amount:20},level3:{userId:3,amount:13},}},]

Query

db.collection.aggregate([{$set:{_levelDetails:{$objectToArray:"$LevelDetails"}}},{$unwind:"$_levelDetails"},{$group:{_id:"$_levelDetails.v.userId","TotalLevel1Amount":{$sum:{$cond:[{"$eq":["$_levelDetails.k","level1"]},"$_levelDetails.v.amount",0]}},"TotalLevel2Amount":{$sum:{$cond:[{"$eq":["$_levelDetails.k","level2"]},"$_levelDetails.v.amount",0]}},"TotalLevel3Amount":{$sum:{$cond:[{"$eq":["$_levelDetails.k","level3"]},"$_levelDetails.v.amount",0]}}}},{$sort:{_id:1}},{$project:{array:[{k:{$toString:"$_id"},v:{TotalLevel1Amount:"$TotalLevel1Amount",TotalLevel2Amount:"$TotalLevel2Amount",TotalLevel3Amount:"$TotalLevel3Amount"}}]}},{"$replaceRoot":{newRoot:{$arrayToObject:"$array"}}}])

Result