sql >> Database >  >> NoSQL >> MongoDB

MongoError:kan _id van een document niet wijzigen

Als je naar je mongo-fout kijkt, ligt het probleem niet bij mongo, het doet gewoon wat het moet doen. Het had een object met _id van het Type ObjectId:ObjectId('xxx') en nu probeer je dat object te veranderen in een _id van het type String (_id:"5083e4a7f4c0c4e270000001") en dat vindt Mongo blijkbaar niet leuk.

De vraag is dus:waarom had het object in de eerste plaats een id van het type ObjectId? Hoe heb je het de eerste keer ingesteld? Als je een andere methode hebt gebruikt om het te initialiseren (ik vermoed aan de serverzijde), moet je het id-type instellen op een String, zodat het hetzelfde is als degene die uit je scriptbibliotheek komt. Als u wilt dat het een ObjectId blijft, moet u de tekenreeks die uit uw script komt, converteren naar een ObjectId voordat u het opslaat in Mongo.

HTH.



  1. Laad vonkgegevens in Mongo / Memcached voor gebruik door een webservice

  2. mongodb pull-object uit een array die niet werkt met mongoose

  3. Een BsonArray toewijzen aan een lijst<> in een POCO

  4. MongoDB-installatie in Ubuntu 14.04 mislukt