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

Como posso atualizar vários documentos no mangusto?


Atualmente acredito que update() em Mongoose tem alguns problemas, veja:https://groups.google.com/forum/#%21topic/mongoose-orm/G8i9S7E8Ergand https://groups.google.com/d/topic/mongoose-orm/K5pSHT4hJ_A/discussion .

No entanto, verifique os documentos para atualização:http://mongoosejs.com/docs/api.html (está em Model). A definição é:

Solução anterior (depreciada após a versão mangusto 5+)
Model.update = function (query, doc, options, callback) { ... }

Você precisa passar as opções dentro de um objeto, então seu código seria:
Model.update = function ({}, {cid: ''}, {multi: true}, function(err) { ... });

Nova solução
Model.updateMany = function (query, doc, callback) { ... }

Model.updateMany = function ({}, {cid: ''}, function(err) { ... });

Eu acredito que o Mongoose envolve seu cid em um $set, então isso não é o mesmo que executar a mesma atualização no shell do mongo. Se você executasse isso no shell, todos os documentos seriam substituídos por um com um único cid: '' .