Database
[{_id:1,inclusions:[2,4]},{_id:2,},{_id:3,inclusions:[5,8]},{_id:4,inclusions:[5]},{_id:5,inclusions:[6]},{_id:6,},{_id:7,},{_id:8,inclusions:[2,3,4]},]
Query
db.collection.aggregate([{$match:{_id:1,}},{"$graphLookup":{"from":"collection","startWith":"$inclusions","connectFromField":"inclusions","connectToField":"_id","as":"matches",}},{/**the rest of the pipeline is just to restore the original structure you don't need this*/$addFields:{matches:{"$concatArrays":[[{_id:"$_id",inclusions:"$inclusions"}],"$matches"]}}},{$unwind:"$matches"},{"$replaceRoot":{"newRoot":"$matches"}}])