sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo puedo actualizar varios documentos en mongoose?

Actualmente creo que update() en Mongoose tiene algunos problemas, consulte:https://groups.google.com/forum/#%21topic/mongoose-orm/G8i9S7E8Ergand https://groups.google.com/d/topic/mongoose-orm/K5pSHT4hJ_A/discussion .

Sin embargo, consulte los documentos para obtener actualizaciones:http://mongoosejs.com/docs/api.html (está en Modelo). La definición es:

Solución anterior (depreciada después de la versión 5+ de mongoose)

Model.update = function (query, doc, options, callback) { ... }

Debe pasar las opciones dentro de un objeto, por lo que su código sería:

Model.update = function ({}, {cid: ''}, {multi: true}, function(err) { ... });

Nueva solución

Model.updateMany = function (query, doc, callback) { ... }

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

Creo que Mongoose envuelve su cid en un conjunto de $, por lo que esto no es lo mismo que ejecutar la misma actualización en el shell de mongo. Si ejecutó eso en el shell, todos los documentos serían reemplazados por uno con un solo cid: '' .