Database
[{totalTaxInclusive:15,totalTaxExclusive:12.5,payments:[{method:"CB",amount:10},{method:"CASH",amount:5}]},{totalTaxInclusive:40,totalTaxExclusive:33.33,payments:[{method:"CB",amount:40}]}]
Query
db.collection.aggregate([{$group:{_id:null,totalTaxInclusive:{$sum:"$totalTaxInclusive"},totalTaxExclusive:{$sum:"$totalTaxExclusive"},totalCount:{$sum:1},payments:{$push:"$payments"}}},{$addFields:{payments:{$reduce:{input:"$payments",initialValue:[],in:{$concatArrays:["$$this","$$value"]}}}}},{$unwind:"$payments"},{$group:{_id:"$payments.method",amount:{$sum:"$payments.amount"},totalTaxInclusive:{$first:"$totalTaxInclusive"},totalTaxExclusive:{$first:"$totalTaxExclusive"},totalCount:{$first:"$totalCount"}}},{$group:{_id:null,totalTaxInclusive:{$first:"$totalTaxInclusive"},totalTaxExclusive:{$first:"$totalTaxExclusive"},totalCount:{$first:"$totalCount"},payments:{$push:{method:"$_id",amount:"$amount"}}}}])