Database

db={"user":[{"_id":ObjectId("5ef4ba8d500ac8876da0d2ca"),"user_id":1,"first_name":"Christian","last_name":"Hur","email":"christian@uta.com","password":"abc1234"},{"_id":ObjectId("5ef4ba8d500ac8876da0d2cb"),"user_id":2,"first_name":"Mary","last_name":"Jane","email":"mary.jane@uta.com","password":"password123"},{"_id":ObjectId("5ef4bc2563742adee5403b1d"),"user_id":3,"first_name":"ari","last_name":"dutta","email":"dutta@uta.com","password":"po1234"}],course:[{"_id":ObjectId("5ef4c1b64a77aec0af5e73ae"),"courseID":3333,"title":"Adv PHP 201","description":"Advance PHP programming","credits":3,"term":"fall"},{"_id":ObjectId("5ef4c20d4a77aec0af5e73af"),"courseID":5555,"title":"Java 201","description":"Advanced Programming","credits":4,"term":"fall"},{"_id":ObjectId("5ef4c2564a77aec0af5e73b0"),"courseID":6666,"title":"Angular 1","description":"Intro to Angular","credits":3,"term":"fall,spring"}],enrollment:[{"_id":ObjectId("5ef771f42d98ffab4460a651"),"userID":1,"courseID":"3333"},{"_id":ObjectId("5ef7722d2d98ffab4460a652"),"userID":1,"courseID":"6666"}]}

Query

db.user.aggregate([{$lookup:{from:"enrollment",localField:"user_id",foreignField:"userID",as:"r1"}},{$unwind:{path:"$r1",includeArrayIndex:"r1_id"}},{$lookup:{from:"course",let:{courseID:{$toInt:"$r1.courseID"}},pipeline:[{$match:{$expr:{$eq:["$$courseID","$courseID"]}}}],as:"r2"}}])

Result