MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB ne peut pas mettre à jour le document car _id est une chaîne, pas ObjectId

Parce que vous ne pouvez pas modifier le _id champ, une meilleure approche consiste simplement à supprimer ce champ de votre map objet au lieu de le convertir en ObjectId.

Donc ceci :

delete map._id;

au lieu de ceci :

map._id = new ObjectID.createFromHexString( map._id);

Si vous souhaitez renvoyer l'objet mis à jour comme vous essayez avec res.send(map); , vous devriez utiliser findAndModify au lieu de update vous avez donc accès au document résultant et pas seulement à ce qui a été publié.