Database

db={"cards":[{"cardId":"one-two-three","filters":["one","two","five"]}],"filters":[{"label":"filter-one-primary","enabled":true,"archived":false,"list":[{"label":"One","value":"one","disabled":false},{"label":"Four","value":"four","disabled":false}]},{"label":"filter-two-primary","enabled":true,"archived":false,"list":[{"label":"Two","value":"two","disabled":false},{"label":"Five","value":"five","disabled":false}]}]}

Query

db.cards.aggregate([{$match:{"cardId":"one-two-three"}},{$lookup:{from:"filters","let":{"id":"$filters"},pipeline:[{$match:{$and:[{$expr:{$gt:[{$size:{$setIntersection:["$$id","$list.value"]}},0]},"enabled":true,"archived":false}]}},{$unwind:"$list"},{$match:{$expr:{$in:["$list.value","$$id"]}}},{$project:{_id:0,primary:"$label",secondary:"$list.label",id:"$list.value",disabled:"$list.disabled"}}],as:"filters"}}])

Result