Database
[{"_id":7,"user":0,"ref":1},{"_id":8,"user":0,"ref":2},{"_id":1,"user":1,"ref":2},{"_id":2,"user":1,"ref":3},{"_id":3,"user":2,"ref":5},{"_id":4,"user":2,"ref":2},{"_id":5,"user":2,"ref":3}]
Query
db.collection.aggregate([{$match:{user:{$in:[0,1]}}},{$group:{_id:"$user",refs:{$push:"$ref"}}},{$group:{_id:0,refs:{$push:"$refs"}}},{$project:{refs:{$reduce:{input:"$refs",initialValue:[],in:{"$setUnion":["$$value","$$this"]}}}}},{$lookup:{from:"collection",localField:"refs",foreignField:"_id",as:"docs"}},{$unwind:"$docs"},{"$replaceRoot":{"newRoot":"$docs"}},])