Database
db={"users":[{_id:"602baa4e38e6de8e08737557",id:"50496531082300001",data:{avatar:"https://example.com/test.png",username:"John Doe"}},{_id:"602baa4602baa4e38e6de58",id:"50496531082300002",data:{avatar:"https://example.com/test2.png",username:"Rebecca Jones"}}],"statistics":[{_id:"4e38e6de8e0873755778755",id:"456789987654345678",data:{members:{"50496531082300001":{messages:20,emails:200},"50496531082300002":{messages:40,emails:400}}}}]}
Query
db.statistics.aggregate([{$addFields:{"data.members":{$objectToArray:"$data.members"}}},{$unwind:"$data.members"},{$lookup:{from:"users",localField:"data.members.k",foreignField:"id",as:"user"}},{$group:{_id:"$_id",members:{$push:{k:"$data.members.k",v:{$mergeObjects:["$data.members.v",{$arrayElemAt:["$user.data",0]}]}}}}},{$project:{id:1,members:{$arrayToObject:"$members"}}}])