Database

db={"Teams":[{_id:"60f3b0b3f0b9a1b0b4f9b1a1",teamName:"World XI A",totalPlayers:15,player:[{playerId:"60f3b0b3f0b9a1b0b4f9b1a2",playerName:"Player A",score:10,},{playerId:"60f3b0b3f0b9a1b0b4f9b1a3",playerName:"Player B",score:20,},],},{_id:"60f3b0b3f0b9a1b0b4f9b1a4",teamName:"Crackers",totalPlayers:15,player:[{playerId:"60f3b0b3f0b9a1b0b4f9b1a5",playerName:"Player C",score:30,},{playerId:"60f3b0b3f0b9a1b0b4f9b1a6",playerName:"Player D",score:40,},],},],"Players":[{_id:"60f3b0b3f0b9a1b0b4f9b1a2",playerName:"Player A",rank:2,totalRuns:5000,},{_id:"60f3b0b3f0b9a1b0b4f9b1a3",playerName:"Player B",rank:1,totalRuns:3050,},{_id:"60f3b0b3f0b9a1b0b4f9b1a5",playerName:"Player C",rank:3,totalRuns:2050,},{_id:"60f3b0b3f0b9a1b0b4f9b1a6",playerName:"Player D",rank:4,totalRuns:1000,},]}

Query

db.Teams.aggregate([{"$lookup":{"from":"Players","localField":"player.playerId","foreignField":"_id","as":"players"}},{$set:{player:{$map:{input:"$player",as:"p",in:{$mergeObjects:["$$p",{playerInfo:{$first:{$filter:{input:"$players",cond:{$eq:["$$p.playerId","$$this._id"]}}}}}]}}}}},{$unset:["players","player.playerId"]}])

Result