sql >> Database >  >> NoSQL >> MongoDB

Hoe kan ik meerdere documenten in mangoest bijwerken?

Momenteel geloof ik dat update() in Mongoose heeft wat problemen, zie:https://groups.google.com/forum/#%21topic/mongoose-orm/G8i9S7E8Ergand https://groups.google.com/d/topic/mongoose-orm/K5pSHT4hJ_A/discussion .

Controleer echter de documenten voor updates:http://mongoosejs.com/docs/api.html (het staat onder Model). De definitie is:

Vroegere oplossing (afgeschreven na mangoest 5+ versie)

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

Je moet de opties binnen een object doorgeven, dus je code zou zijn:

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

Nieuwe oplossing

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

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

Ik geloof dat Mongoose je cid in een $set verpakt, dus dit is niet hetzelfde als dezelfde update uitvoeren in de mongo-shell. Als je dat in de shell zou uitvoeren, zouden alle documenten worden vervangen door één met een enkele cid: '' .



  1. MongoDB $arrayToObject

  2. redis - Hashes gebruiken

  3. Hoe verwijder je in mongoDb een array-element door zijn index?

  4. mongodb $ in limiet