Database
[{_id:1,cat:["a","b","c","d","e"]},{_id:2,cat:["f","g","h","i","j"]},{_id:3,cat:["a","b","f","g","h"]},{_id:4,cat:["i","j","c","d","e"]}]
Query
db.collection.aggregate([{$project:{cat:1,inter:{$setIntersection:["$cat",["a","b","c","f"]]}}},{$project:{cat:1,size:{$size:"$inter"}}},{$match:{size:{$gte:3}}}])