Database

db={"students":[{"_id":ObjectId("5fbd564981b1313de790b580"),"name":"John Doe","age":"21","image":"https://XXXX/481.png","subjects":[{"_id":ObjectId("5fbd4e6881b1313de790b56b"),"passed":true},{"_id":ObjectId("5fcb63fa8814d96876c687bf")}],"__v":NumberInt("1")}],"subjects":[{"_id":ObjectId("5fbd4e6881b1313de790b56b"),"course":3,"teacher":"John Smith","name":"Math"},{"_id":ObjectId("5fcb63fa8814d96876c687bf"),"name":"IT","course":8,"teacher":"John Peter"}]}

Query

db.students.aggregate([{$match:{_id:ObjectId("5fbd564981b1313de790b580")}},{$lookup:{from:"subjects",localField:"subjects._id",foreignField:"_id",as:"FoundSubject"}},{$addFields:{subjects:{$map:{input:"$subjects",as:"s",in:{$reduce:{input:"$FoundSubject",initialValue:{},in:{$cond:[{$eq:["$$s._id","$$this._id"]},{_id:"$$this._id",course:"$$this.course",name:"$$this.name",teacher:"$$this.teacher",passed:"$$s.passed"},"$$value"]}}}}}}},{$project:{FoundSubject:0}}])

Result