Database
db={users:[{_id:"abc",name:"abc",group:1},{_id:"xyz",name:"xyyy",group:1},{_id:"123",name:"yyy",group:1},{_id:"rrr",name:"tttt",group:1},{_id:"eee",name:"uuu",group:1}],partnership:[{_id:"abc_123",fromUser:"abc",toUser:"123"},{_id:"rrr_abc",fromUser:"rrr",toUser:"abc"},{_id:"xyz_rrr",fromUser:"xyz",toUser:"rrr"}]}
Query
db.users.aggregate([{$match:{group:1,_id:{$ne:"abc"}}},{$lookup:{from:"partnership",let:{userId:"$_id"},as:"prob",pipeline:[{$set:{users:["$fromUser","$toUser"],u:"$$userId"}},{$match:{$expr:{$and:[{$in:["$$userId","$users"]},{$in:["abc","$users"]}]}}}]}},{$match:{"prob.0":{$exists:false}}},{$match:{"prob.0":{$exists:false}}},{$sample:{size:1}},{$unset:"prob"}])