Database

db={"users":[{"user_id":"123","user_name":"JaneDoe","phones":["123456","234532"]}],"messages":[{"msg_id":"678","sender_id":"090","receiver_phones":["123456","000000","010342"],"content":"Hello world","timestamp":"2020-02-05"}]}

Query

db.messages.aggregate([{$lookup:{from:"users",let:{receiver_phones:"$receiver_phones"},pipeline:[{$unwind:"$phones"},{$match:{$expr:{$and:[{$eq:["$user_id","123"]},{$in:["$phones","$$receiver_phones"]}]}}},{$group:{_id:"$user_id",user_name:{$first:"$user_name"}}}],as:"results"}}])

Result