Database

db={recordSet:[{"_id":"1","name":"recordSet1","source":["1","2","3"]},{"_id":"2","name":"recordSet2","source":["1","4","5"]}],ecg:[{"_id":"1","name_ecg":"test1","channel":["I","II","III"]},{"_id":"2","name_ecg":"test2","channel":["II","III"]},{"_id":"3","name_ecg":"test3","channel":["MLI","MLII","V5"]},{"_id":"4","name_ecg":"test4","channel":["I"]},{"_id":"5","name_ecg":"test5","channel":["II"]}],exportingRegion:[{"_id":"1","name_exp_region":"exp_reg1","record_set_id":"1","ecg_id":"1"},{"_id":"2","name_exp_region":"exp_reg2","record_set_id":"1","ecg_id":"1"},{"_id":"3","name_exp_region":"exp_reg3","record_set_id":"1","ecg_id":"2"},{"_id":"4","name_exp_region":"exp_reg4","record_set_id":"1","ecg_id":"2"},{"_id":"5","name_exp_region":"exp_reg5","record_set_id":"1","ecg_id":"2"},{"_id":"6","name_exp_region":"exp_reg6","record_set_id":"1","ecg_id":"3"},{"_id":"7","name_exp_region":"exp_reg7","record_set_id":"2","ecg_id":"1"},{"_id":"8","name_exp_region":"exp_reg8","record_set_id":"2","ecg_id":"1"},{"_id":"9","name_exp_region":"exp_reg9","record_set_id":"2","ecg_id":"1"}]}

Query

db.recordSet.aggregate([{$match:{_id:"1"}},{$lookup:{from:"ecg",localField:"source",foreignField:"_id",as:"ecg"}},{$unwind:{path:"$ecg",preserveNullAndEmptyArrays:true}},{$lookup:{from:"exportingRegion",let:{recordId:"$_id",ecgId:"$ecg._id"},pipeline:[{$match:{$expr:{$and:[{$eq:["$ecg_id","$$ecgId"]},{$eq:["$record_set_id","$$recordId"]}]}}}],as:"exportingRegion"}},{$group:{_id:"$_id",ecg:{$push:{ecg:"$ecg",exporting_region:"$exportingRegion"}}}}])

Result