Database
db={"return":[{userId:"u1"},{userId:"u1"},{userId:"u1"},{userId:"u1"},{userId:"u3"},{userId:"u3"},{userId:"u1"}],"user":[{_id:"u1",name:"user1",course:"BSIT"},{_id:"u3",name:"user3",course:"BTIT"}]}
Query
db.return.aggregate([{"$lookup":{"from":"user","localField":"userId","foreignField":"_id","pipeline":[{$project:{_id:0,name:1,course:1}}],"as":"userId"}},{$unwind:"$userId"},{$group:{_id:"$userId",count:{$sum:1}}},{$project:{_id:0,name:"$_id.name",course:"$_id.course",count:1}}])