Obecnie uważam, że update()
w Mongoose ma pewne problemy, patrz:https://groups.google.com/forum/#%21topic/mongoose-orm/G8i9S7E8Ergand https://groups.google.com/d/topic/mongoose-orm/K5pSHT4hJ_A/discussion .
Jednak sprawdź dokumentację pod kątem aktualizacji:http://mongoosejs.com/docs/api.html (jest pod Model). Definicja to:
Wcześniejsze rozwiązanie (wycofane po wersji mangusta 5+)
Model.update = function (query, doc, options, callback) { ... }
Musisz przekazać opcje wewnątrz obiektu, więc Twój kod będzie wyglądał następująco:
Model.update = function ({}, {cid: ''}, {multi: true}, function(err) { ... });
Nowe rozwiązanie
Model.updateMany = function (query, doc, callback) { ... }
Model.updateMany = function ({}, {cid: ''}, function(err) { ... });
Uważam, że Mongoose pakuje twój cid w $set, więc nie jest to to samo, co uruchamianie tej samej aktualizacji w powłoce mongo. Jeśli uruchomisz to w powłoce, wszystkie dokumenty zostaną zastąpione jednym z jednym cid: ''
.