Hiện tại tôi tin rằng update()
trong Mongoose có một số vấn đề, hãy xem:https://groups.google.com/forum/#%21topic/mongoose-orm/G8i9S7E8Ergand https://groups.google.com/d/topic/mongoose-orm/K5pSHT4hJ_A/discussion .
Tuy nhiên, hãy kiểm tra tài liệu để cập nhật:http://mongoosejs.com/docs/api.html (tài liệu trong Mô hình). Định nghĩa là:
Giải pháp cũ hơn (Đã khấu hao sau phiên bản mongoose 5+)
Model.update = function (query, doc, options, callback) { ... }
Bạn cần chuyển các tùy chọn bên trong một đối tượng, vì vậy mã của bạn sẽ là:
Model.update = function ({}, {cid: ''}, {multi: true}, function(err) { ... });
Giải pháp mới
Model.updateMany = function (query, doc, callback) { ... }
Model.updateMany = function ({}, {cid: ''}, function(err) { ... });
Tôi tin rằng Mongoose bao bọc cid của bạn trong một tập hợp $, vì vậy điều này không giống như việc chạy cùng một bản cập nhật đó trong trình bao mongo. Nếu bạn chạy nó trong shell thì tất cả các tài liệu sẽ được thay thế bằng một tài liệu bằng một cid: ''
.