Database

db={"users":[{"userId":"000000000001","pseudo":"A"},{"userId":"000000000002","pseudo":"B"},{"userId":"000000000003","pseudo":"C"},{"userId":"000000000004","pseudo":"D"},{"userId":"000000000005","pseudo":"E"},{"userId":"000000000006","pseudo":"F"},{"userId":"000000000007","pseudo":"G"},{"userId":"000000000008","pseudo":"H"}],"rooms":[{"roomId":"000000000001000000000002","userIdFrom":"000000000001","userIdTo":"000000000002"},{"roomId":"000000000001000000000003","userIdFrom":"000000000001","userIdTo":"000000000003"},{"roomId":"000000000008000000000001","userIdFrom":"000000000008","userIdTo":"000000000001"}]}

Query

db.users.aggregate([{"$match":{"userId":{"$ne":"000000000001"}}},{"$lookup":{"from":"rooms","let":{"userId":"$userId"},"pipeline":[{"$match":{"$expr":{"$or":[{"$eq":["$userIdFrom","$$userId"]},{"$eq":["$userIdTo","$$userId"]}]}}}],"as":"roomData"}},{"$match":{"$expr":{"$gt":[{"$size":"$roomData"},0]}}},{"$replaceWith":{"$mergeObjects":["$$ROOT",{"$first":"$roomData"}]}},{"$unset":["_id","roomData"]}])

Result