Perché non puoi modificare il _id campo, un approccio migliore consiste semplicemente nel rimuovere quel campo dalla tua map oggetto invece di convertirlo in un ObjectId.
Quindi questo:
delete map._id;
invece di questo:
map._id = new ObjectID.createFromHexString( map._id);
Se vuoi restituire l'oggetto aggiornato come stai tentando con res.send(map); , dovresti utilizzare findAndModify
invece di update quindi hai accesso al documento risultante e non solo a ciò che è stato pubblicato.