Database
db={comments:[{commentedBy:"userfooid","key":1,"text":"content 111","quoted":null,},{commentedBy:"userfooid","key":2,"text":"content 222","quoted":null,},{commentedBy:"userf333","key":3,"text":"content 333","quoted":1,},],users:[{_id:"userfooid"}],posts:[{posterId:"userfooid"}]}
Query
db.comments.aggregate([{$lookup:{from:"users",let:{userId:"$commentedBy"},as:"commenterDetails",pipeline:[{$match:{$expr:{$eq:["$$userId","$_id"],}}},{$lookup:{from:"posts",as:"posts",let:{posterId:"$_id"},pipeline:[{$match:{$expr:{$eq:["$posterId","$$posterId"]}}},{$count:"total"},]}},{$addFields:{posts:{$arrayElemAt:["$posts",0]}}},]},},{$addFields:{commenterDetails:{$arrayElemAt:["$commenterDetails",0]}}}])