sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur kan jag uppdatera flera dokument i mongoose?

För närvarande tror jag att update() i Mongoose har vissa problem, se:https://groups.google.com/forum/#%21topic/mongoose-orm/G8i9S7E8Ergand https://groups.google.com/d/topic/mongoose-orm/K5pSHT4hJ_A/discussion .

Kontrollera dock dokumenten för uppdatering:http://mongoosejs.com/docs/api.html (det är under modell). Definitionen är:

Tidigare lösning (avskrivs efter version mongoose 5+)

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

Du måste skicka alternativen inuti ett objekt, så din kod skulle vara:

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

Ny lösning

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

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

Jag tror att Mongoose lindar in din cid i en $set, så det här är inte samma sak som att köra samma uppdatering i mongo-skalet. Om du körde det i skalet skulle alla dokument ersättas av ett med en enda cid: '' .



  1. Hur man optimerar prestanda för ClusterControl och dess komponenter

  2. MongoDB $last Aggregation Pipeline Operator

  3. Räckviddsbaserad personsökning mongodb

  4. Är det värt besväret att förkorta MongoDB-egendomsnamn?