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

Hvordan kan jeg opdatere flere dokumenter i mongoose?

I øjeblikket tror jeg, at update() i Mongoose har nogle problemer, se:https://groups.google.com/forum/#%21topic/mongoose-orm/G8i9S7E8Ergand https://groups.google.com/d/topic/mongoose-orm/K5pSHT4hJ_A/discussion .

Tjek dog dokumenterne for opdatering:http://mongoosejs.com/docs/api.html (det er under Model). Definitionen er:

Tidligere løsning (afskrevet efter mongoose 5+ version)

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

Du skal videregive mulighederne i et objekt, så din kode ville være:

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

Ny løsning

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

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

Jeg tror, ​​at Mongoose pakker dit cid ind i et $-sæt, så det er ikke det samme som at køre den samme opdatering i mongo-skallen. Hvis du kørte det i shellen, ville alle dokumenter blive erstattet af et med en enkelt cid: '' .



  1. Hvordan returnerer man kun en del af array i MongoDB?

  2. Fjernelse af specifikke elementer fra array med MongoDB

  3. Brug Redis til at generere unikt ID fra et begrænset område

  4. Sum i indlejret dokument MongoDB