Database

db={"players":[{"_id":ObjectId("5fba17c1c4566e57fafdcd7e"),"username":"moshe","items":[{"_id":ObjectId("5fbb5ac178045a985690b5fd"),"equipped":false,"itemId":"5fbb5ab778045a985690b5fc"},{"_id":ObjectId("5fbb5ac178045a985690b5fe"),"equipped":false,"itemId":"5fbb5ab778045a985690b5fd"}]}],"items":[{"_id":ObjectId("5fbb5ab778045a985690b5fc"),"name":"Axe","damage":4,"defense":6},{"_id":ObjectId("5fbb5ab778045a985690b5fd"),"name":"Axe1","damage":3,"defense":4}]}

Query

db.players.aggregate([{$addFields:{items:{$map:{input:"$items",in:{$mergeObjects:["$$this",{itemId:{$toObjectId:"$$this.itemId"}}]}}}}},{$lookup:{from:"items",localField:"items.itemId",foreignField:"_id",as:"itemsCollection"}},{$project:{username:1,items:{$map:{input:"$items",as:"i",in:{$mergeObjects:["$$i",{$first:{$filter:{input:"$itemsCollection",cond:{$eq:["$$this._id","$$i.itemId"]}}}}]}}}}}])

Result