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"}]}}}}}])