Database

db={"a":[{"_id":ObjectId("5b56989172ebcb11105e8f41"),"db_type":"b","number":1},{"_id":ObjectId("5b56989172ebcb11105e8f42"),"db_type":"c","number":2}],"b":[{"_id":ObjectId("5b56989172ebcb11105e8f43"),"number":1,"value":"111"}],"c":[{"_id":ObjectId("5b56989172ebcb11105e8f44"),"number":2,"value":"222"},{"_id":ObjectId("5b56989172ebcb11105e8f45"),"number":1,"value":"should not be found"}]}

Query

db.a.aggregate([{"$lookup":{"from":"b","let":{db_type:"$db_type",number:"$number"},"pipeline":[{$match:{$expr:{$and:[{$eq:["$$db_type","b"]},{$eq:["$$number","$number"]}]}}}],"as":"bLookup"}},{"$lookup":{"from":"c","let":{db_type:"$db_type",number:"$number"},"pipeline":[{$match:{$expr:{$and:[{$eq:["$$db_type","c"]},{$eq:["$$number","$number"]}]}}}],"as":"cLookup"}},{"$addFields":{"allLookup":{"$setUnion":["$bLookup","$cLookup"]}}}])

Result