Database

db={courses:[{_id:1,name:"Geometry",teacher_id:1},{_id:2,name:"English",teacher_id:2}],teachers:[{_id:1,firstName:"John",lastName:"Adams"},{_id:2,firstName:"Mary",lastName:"Jane"}]}

Query

db.courses.aggregate([{$lookup:{from:"teachers",localField:"teacher_id",foreignField:"_id",as:"teacher_info"}},{$match:{"teacher_info.firstName":"John"}}])

Result