MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoError:não é possível alterar o _id de um documento


Olhando para o erro do seu mongo, o problema não é com o mongo, ele está apenas fazendo o que deveria fazer. Tinha um objeto com _id do tipo ObjectId:ObjectId('xxx') e agora você está tentando mudar esse objeto para ter um _id do tipo String (_id:"5083e4a7f4c0c4e270000001") e que o Mongo aparentemente não gosta.

Então, a pergunta é:por que o objeto tinha um id do tipo ObjectId em primeiro lugar? Como você configurou na primeira vez? Se você usou algum outro método para inicializá-lo (suponho que do lado do servidor), você deve definir o tipo de id como uma String para que seja o mesmo que vem da sua biblioteca de scripts. Se você quiser que ele permaneça um ObjectId, você precisará converter a String proveniente do seu script em um ObjectId antes de salvá-lo no Mongo.

HTH.