sql >> Databáze >  >> NoSQL >> MongoDB

MongoError:nelze změnit _id dokumentu

Když se podíváte na vaši chybu mongo, problém není s mongo, jen dělá to, co dělat má. Měl objekt s _id typu ObjectId:ObjectId('xxx') a nyní se pokoušíte změnit tento objekt tak, aby měl _id typu String (_id:"5083e4a7f4c0c4e270000001"), což se Mongo zjevně nelíbí.

Otázka tedy zní:proč měl objekt na prvním místě id typu ObjectId? Jak jsi to nastavil poprvé? Pokud jste k inicializaci použili nějakou jinou metodu (předpokládám, že na straně serveru), měli byste nastavit typ id na String, aby byl stejný jako ten, který pochází z vaší knihovny skriptů. Pokud chcete, aby zůstalo ObjectId, budete muset před uložením do Mongo převést řetězec pocházející z vašeho skriptu na ObjectId.

HTH.



  1. Mongo dokument JSON -> JSON -> BSON

  2. A operátor mongoosastic (filtr)

  3. MongoError:getaddrinfo ENOTFOUND undefined undefined:27017

  4. Zamyká MongoDB MapReduce databázi