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.