Database

db={users:[{_id:"44s5dsdde4e4e55e",name:"bob",email:"bob@gmail.com",},{_id:"3as5dsdde4e4e55e",name:"alice",email:"alice@gmail.com",}],ratings:[{rated:"44s5dsdde4e4e55e",by:"someone",rating:2},{rated:"44s5dsdde4e4e55e",by:"someone",rating:4},{rated:"44s5dsdde4e4e55e",by:"someone",rating:3},{rated:"44s5dsdde4e4e55e",by:"someone",rating:3},{rated:"3as5dsdde4e4e55e",by:"someone",rating:4},]}

Query

db.users.aggregate([{$lookup:{from:"ratings",localField:"_id",foreignField:"rated",as:"ratings"}},{"$addFields":{ratings:{$reduce:{input:"$ratings",initialValue:{count:0,sum:0},in:{count:{$sum:["$$value.count",1]},sum:{$sum:["$$value.sum","$$this.rating"]}}}}}},{$addFields:{ratingAvg:{$divide:["$ratings.sum","$ratings.count"]}}},{$project:{ratings:0}}])

Result