Database
[{"_id":ObjectId("65aa4921c767f95a70b8867f"),"creator":"Henry","date":"2023-12-22","channels":[{"key":"HTV","value":1}]},{"_id":ObjectId("65aa4921c767f95a70b8867a"),"creator":"Max","date":"2023-12-23","channels":[{"key":"VTC","value":1}]},{"_id":ObjectId("65aa4921c767f95a70b88689"),"creator":"John","date":"2023-12-23","channels":[{"key":"VTC","value":2},{"key":"HTV","value":1}]}]
Query
db.collection.aggregate([{$group:{_id:"$date",channels:{$push:"$channels"}}},{"$addFields":{"channels":{"$reduce":{"input":"$channels","initialValue":[],"in":{$concatArrays:["$$value","$$this"]}}}}},{$addFields:{channels:{$map:{input:{$setUnion:"$channels.key"},as:"a",in:{key:"$$a",value:{$reduce:{"input":{$filter:{input:"$channels",cond:{$eq:["$$a","$$this.key"]}}},"initialValue":0,"in":{$sum:["$$value","$$this.value"]}}}}}},total:{$sum:"$channels.value"}}}])