Database

[{aggDate:"2019-05-23",results:[{foo:0.58,bar:0.42},{foho:0.32,bar:0.98,sdbar:0.98,}]}]

Query

db.collection.aggregate([{$project:{aggDate:1,results:{$reduce:{input:{$map:{input:"$results",in:{$objectToArray:"$$this"}}},initialValue:[],in:{$concatArrays:["$$value","$$this"]}}}}},{"$project":{aggDate:1,"result":{$arrayToObject:{"$map":{"input":{"$setUnion":["$results.k"]},"as":"m","in":{$let:{vars:{fil:{"$filter":{"input":"$results","as":"d","cond":{"$eq":["$$d.k","$$m"]}}}},in:{"k":"$$m","v":{$divide:[{$sum:"$$fil.v"},{"$size":"$$fil"}]}}},}}}}}}])

Result