MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come posso aggiornare più documenti in mangusta?

Attualmente credo che update() in Mongoose presenta alcuni problemi, vedere:https://groups.google.com/forum/#%21topic/mongoose-orm/G8i9S7E8Ergand https://groups.google.com/d/topic/mongoose-orm/K5pSHT4hJ_A/discussion .

Tuttavia, controlla i documenti per l'aggiornamento:http://mongoosejs.com/docs/api.html (è in Model). La definizione è:

Soluzione precedente (deprezzata dopo la versione mangusta 5+)

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

Devi passare le opzioni all'interno di un oggetto, quindi il tuo codice sarebbe:

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

Nuova soluzione

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

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

Credo che Mongoose avvolga il tuo cid in un $ set, quindi non è lo stesso che eseguire lo stesso aggiornamento nella shell mongo. Se lo esegui nella shell, tutti i documenti verrebbero sostituiti da uno con un singolo cid: '' .