Database

db={Rankings:[{_id:"ord1",players:[{player_id:"xyz1",challenger_id:"abc1"},{player_id:"xyz2",challenger_id:"def1"}]}],Users:[{_id:"xyz1",name:"my player name"},{_id:"xyz2",name:"my other player name"},{_id:"abc1",name:"my challenger name"},{_id:"def1",name:"my other challenger name"}]}

Query

db.Rankings.aggregate([{$lookup:{from:"Users",let:{"playerId":"$players.player_id","challengerId":"$players.challenger_id"},pipeline:[{$match:{$expr:{$in:["$_id","$$playerId"]}}},{$project:{"name":1}}],as:"player_names"}}])

Result