Database

[{id:1,players:[{playerId:123,challengerId:456,rank:1},{playerId:789,challengerId:111,rank:2}]}]

Query

db.collection.aggregate([{$set:{players:{$map:{input:"$players",in:{$mergeObjects:["$$this",{playernamefromid:"$$this.playerId",challengernamefromid:"$$this.challengerId"}]}}}}}])

Result