MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB kann das Dokument nicht aktualisieren, weil _id eine Zeichenfolge ist, nicht ObjectId

Weil Sie die _id nicht ändern können -Feld, ist ein besserer Ansatz, einfach das Feld that aus Ihrer map zu entfernen Objekt, anstatt es in eine ObjectId umzuwandeln.

Also das hier:

delete map._id;

stattdessen:

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

Wenn Sie das aktualisierte Objekt so zurückgeben möchten, wie Sie es mit res.send(map); versuchen , sollten Sie findAndModify statt aktualisieren Sie haben also Zugriff auf das resultierende Dokument und nicht nur auf das, was gepostet wurde.