Database

[{"_id":"1","tags":[{"_id":"a","displayName":"a","level":1,},{"_id":"b","displayName":"b","level":2,},{"_id":"c","displayName":"c","level":3,},]},{"_id":"2","tags":[{"_id":"a","displayName":"a","level":1,},{"_id":"b","displayName":"b","level":2,},]},{"_id":"3","tags":[{"_id":"a","displayName":"a","level":1,},{"_id":"d","displayName":"d","level":4,},]}]

Query

db.collection.aggregate([{$match:{"_id":"1"}},{"$lookup":{"from":"collection","let":{"criteria":"$tags"},"pipeline":[{"$project":{match:{"$setIntersection":["$tags","$$criteria"]},}}],"as":"result"}},{"$project":{"tags":0}},])

Result