Database

[{"_id":1,"list":[{"a":1},{"a":2}]},{"_id":2,"list":[{"a":3},{"a":4}]}]

Query

db.collection.aggregate([{$project:{list:{$filter:{input:"$list",cond:{$in:["$$this.a",[1,2,4]]}}}}},{$project:{results:{$reduce:{input:"$list",initialValue:[],in:{$concatArrays:["$$value",{$map:{input:"$list",as:"item",in:{_id:"$_id",origA:"$$this.a",list:{a:"$$item.a"}}}}]}}}}},{$unwind:"$results"},{$project:{list:{a:"$results.origA"},results:{"_id":"$results._id","list":"$results.list"}}}])

Result