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

O MongoDB não pode atualizar o documento porque _id é string, não ObjectId


Porque você não pode modificar o _id campo, uma abordagem melhor é simplesmente remover esse campo do seu mapa object em vez de convertê-lo em um ObjectId.

Então, é isso:
delete map._id;

em vez disso:
map._id = new ObjectID.createFromHexString( map._id);

Se você quiser retornar o objeto atualizado como está tentando com res.send(map); , você deve usar findAndModify em vez de atualizar para que você tenha acesso ao documento resultante e não apenas ao que foi postado.