Database
[{"title":"one title","articles":[{content:"lorem ipsum",authorIds:[1]},{content:"bacon ipsum",authorIds:[2,3,4]},{content:"hippsum dippsum",authorIds:[3,5]},{content:"hippsum dippsum",authorIds:[4]}]}]
Query
db.collection.aggregate([{"$project":{title:1,articles:1,articleCount:{$size:"$articles"}}},{"$redact":{"$cond":{"if":{"$or":[{$gte:["$articleCount",1]},{$gt:[{$size:{$setIntersection:["$authorIds",[2]]}},0]}]},"then":"$$DESCEND","else":"$$PRUNE"}}}])