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

MongoError:_id eines Dokuments kann nicht geändert werden

Wenn Sie sich Ihren Mongo-Fehler ansehen, liegt das Problem nicht bei Mongo, es tut nur, was es tun soll. Es hatte ein Objekt mit _id vom Typ ObjectId:ObjectId('xxx') und jetzt versuchen Sie, dieses Objekt so zu ändern, dass es eine _id vom Typ String hat (_id:"5083e4a7f4c0c4e270000001") und das Mongo anscheinend nicht mag.

Die Frage ist also:Warum hatte das Objekt überhaupt eine ID vom Typ ObjectId? Wie hast du es das erste Mal eingestellt? Wenn Sie eine andere Methode zum Initialisieren verwendet haben (ich schätze, serverseitig), sollten Sie den ID-Typ auf einen String setzen, damit er derselbe ist wie der aus Ihrer Skriptbibliothek. Wenn Sie möchten, dass es eine ObjectId bleibt, müssen Sie den aus Ihrem Skript kommenden String in eine ObjectId konvertieren, bevor Sie ihn in Mongo speichern.

HTH.