MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie kann ich mehrere Dokumente in Mongoose aktualisieren?

Derzeit glaube ich, dass update() in Mongoose hat einige Probleme, siehe:https://groups.google.com/forum/#%21topic/mongoose-orm/G8i9S7E8Ergand https://groups.google.com/d/topic/mongoose-orm/K5pSHT4hJ_A/discussion .

Überprüfen Sie jedoch die Dokumentation auf Aktualisierungen:http://mongoosejs.com/docs/api.html (unter Modell). Die Definition lautet:

Frühere Lösung (abgeschrieben nach Mongoose 5+ Version)

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

Sie müssen die Optionen innerhalb eines Objekts übergeben, Ihr Code wäre also:

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

Neue Lösung

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

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

Ich glaube, dass Mongoose Ihr Cid in ein $set verpackt, also ist dies nicht dasselbe wie das Ausführen desselben Updates in der Mongo-Shell. Wenn Sie das in der Shell ausführen würden, würden alle Dokumente durch eines mit einem einzigen cid: '' ersetzt .