Database

[{"_id":ObjectId("6224a5767b9cdbdcb681b1ef"),"id_employe":180,"id_director":100,"name":"Mark",},{"_id":ObjectId("6224a5767b9cdbdcb681b1f0"),"id_employe":100,"id_director":null,"name":"Peter",}]

Query

db.collection.aggregate([{"$match":{"id_director":{$ne:null}}},{"$lookup":{"from":"collection","localField":"id_director","foreignField":"id_employe",pipeline:[{"$limit":1},{$project:{_id:1}}],"as":"id_director"}},{$unwind:"$id_director"},{$project:{_id:1,id_employe:1,id_director:"$id_director._id",name:1}},{"$merge":{"into":"collection","on":"_id","whenMatched":"replace"}}])

Result