Database

db={"col1":[{"_id":"shouldInclude1","path":1},{"_id":"shouldNotInclude1","path":2}],"selection":[{id:1,selected:true},{id:2,selected:false},{id:3,selected:false}]}

Query

db.col1.aggregate([{"$lookup":{"from":"selection","localField":"path","foreignField":"id","pipeline":[{$match:{selected:true}},{/** limit lookup result set size to boost performance*/$limit:1}],"as":"selected"}},{/** prune empty lookups(i.e. no selected)*/"$unwind":"$selected"}])

Result