MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB non può aggiornare il documento perché _id è una stringa, non ObjectId

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.