Database

db={players:[{"_id":ObjectId("5fba17c1c4566e57fafdcd7e"),"username":"moshe","items":["5fbb5ab778045a985690b5fc","5fbb5ab778045a985690b5fd"]},{"_id":ObjectId("5fba17c1c4566e57fafdcd7f"),"username":"mosheNull","items":null}],items:[{"_id":ObjectId("5fbb5ab778045a985690b5fc"),"name":"Axe","damage":4,"defense":6},{"_id":ObjectId("5fbb5ab778045a985690b5fd"),"name":"Demo","damage":1,"defense":1}]}

Query

db.players.aggregate([{$lookup:{from:"items",let:{items:{$ifNull:["$items",[]]}},pipeline:[{$match:{$expr:{$in:[{$toString:"$_id"},"$$items"]}}},{$project:{name:1,_id:0}}],as:"itemNames"}},{$set:{itemNames:{$map:{input:"$itemNames",in:"$$this.name"}}}}])

Result