Database
db={"students":[{"_id":"1","class_id":"5","name":"Sam"},{"_id":"2","class_id":"5","name":"Tom"}],"classes":[{"_id":"5","grade":6,"room":"A-2"}],"teachers":[{"_id":"1","name":"John"},{"_id":"2","name":"kyle"}],"items":[{"_id":"1","learning_type":"MATH","item_type":"TEST","teacher_id":"1"},{"_id":"2","learning_type":"HISTORY","item_type":"ASSIGNMENT","teacher_id":"1"},{"_id":"3","learning_type":"ENGLISH","item_type":"RESOURCE","teacher_id":"2"}],"gradebook":[{"_id":"1","test_id":"2","student_id":"1","item_id":"1","score":80,"isChecked":true},{"_id":"2","test_id":"2","student_id":"2","item_id":"1","score":0,"isChecked":false}]}
Query
db.students.aggregate([{"$lookup":{"from":"classes","localField":"class_id","foreignField":"_id","as":"classes_docs"}},{"$lookup":{"from":"gradebook","localField":"_id","foreignField":"student_id","as":"gradebook_docs"}},{"$lookup":{"from":"items","localField":"gradebook_docs.item_id","foreignField":"_id","as":"items_docs"}},{"$lookup":{"from":"teachers","localField":"items_docs.teacher_id","foreignField":"_id","as":"teachers_docs"}}])