Database

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

Query

db.collection.aggregate([{$project:{aggDate:1,results:{$map:{input:"$results",in:{$objectToArray:"$$this"}}}}},{$unwind:"$results"},{$unwind:"$results"},{$group:{_id:{aggDate:"$aggDate",k:"$results.k"},sum:{$sum:"$results.v"},count:{$sum:1}}},{$project:{_id:1,v:{$divide:["$sum","$count"]}}},{$group:{_id:"$_id.aggDate",results:{$push:{k:"$_id.k",v:"$v"}}}},{$project:{_id:0,aggDate:"$_id",results:{$arrayToObject:"$results"}}}])

Result