Database

db={Collection_A:[{_id:1,name:"A",includes:[{_id:1,includes_id:222,},{_id:2,includes_id:333}]}],Collection_B:[{_id:222,type:"Computer",name:"Computer",ref_id:1}],Collection_C:[{_id:333,type:"Human",name:"Human",ref_id:1}],Collection_D:[{_id:444,type:"Animal",name:"Animal",ref_id:1}]}

Query

db.Collection_A.aggregate([{"$facet":{"joinB":[{$unwind:"$includes"},{"$lookup":{"from":"Collection_B","localField":"includes.includes_id","foreignField":"_id","as":"includes.includes_list"}},{"$group":{"_id":"$_id","name":{"$first":"$name"},includes:{$push:"$includes"}}}],"joinC":[{$unwind:"$includes"},{"$lookup":{"from":"Collection_C","localField":"includes.includes_id","foreignField":"_id","as":"includes.includes_list"}},{"$group":{"_id":"$_id","name":{"$first":"$name"},includes:{$push:"$includes"}}}],"joinD":[{$unwind:"$includes"},{"$lookup":{"from":"Collection_D","localField":"includes.includes_id","foreignField":"_id","as":"includes.includes_list"}},{"$group":{"_id":"$_id","name":{"$first":"$name"},includes:{$push:"$includes"}}}],}},{$project:{combined:{"$concatArrays":["$joinB","$joinC","$joinD"]}}},{"$unwind":"$combined"},{"$replaceRoot":{"newRoot":"$combined"}},{"$project":{_id:1,name:1,includes:{$filter:{input:"$includes",cond:{$ne:["$$this.includes_list",[]]}}}}}])

Result