Database
db={registers:[{_id:1,student:1,school:1,course:1,semester:1,grade:59},{_id:2,student:1,school:1,course:1,semester:2,grade:99},{_id:3,student:1,school:2,course:2,semester:3,grade:100}],students:[{_id:1,name:"Student1"},{_id:2,name:"Student2"}],schools:[{_id:1,name:"Zefram Cochrane High School"},{_id:2,name:"Star Fleet Academy"}],courses:[{_id:1,name:"Warp Theory"},{_id:2,name:"Temporal Mechanics"}],semesters:[{_id:1,name:"Fall 2320",startDate:ISODate("2320-02-01"),endDate:ISODate("2320-05-31")},{_id:2,name:"Fall 2320",startDate:ISODate("2320-09-01"),endDate:ISODate("2320-12-31")},{_id:3,name:"Spring 2321",startDate:ISODate("2321-02-01"),endDate:ISODate("2321-05-31")}]}
Query
db.registers.aggregate([{$match:{student:1}},{$lookup:{from:"students",localField:"student",foreignField:"_id",as:"student"}},{$unwind:"$student"},{$lookup:{from:"schools",localField:"school",foreignField:"_id",as:"school"}},{$unwind:"$school"},{$lookup:{from:"courses",localField:"course",foreignField:"_id",as:"course"}},{$unwind:"$course"},{$lookup:{from:"semesters",localField:"semester",foreignField:"_id",as:"semester"},},{$unwind:"$semester"},{$project:{"course._id":0,"school._id":0,"student._id":0,"semester._id":0,"_id":0}},{$group:{_id:{course:"$course",school:"$school",student:"$student"},semester:{$push:"$semester"}}}])