MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

cập nhật nhiều bản ghi bằng mongoosejs trong nút

Query#update không chấp nhận options tham số, nhưng Model.update làm. Vì vậy, bạn muốn viết lại điều này thành:

Page.update({status:'queued'}, {status: 'active'}, {multi: true}, 
    function(err, num) {
        console.log("updated "+num);
    }
);

Tôi không chắc bạn đang cố gắng làm gì với limit gọi trong chuỗi, nhưng bạn không thể sử dụng nó trong một bản cập nhật.

CẬP NHẬT

Truy vấn trên sẽ cập nhật tất cả các tài liệu có {status: 'queued'} . Lựa chọn duy nhất của bạn với update chỉ là kết quả phù hợp đầu tiên {multi: false} hoặc tất cả các kết quả phù hợp với {multi: true} .

Có vẻ như bạn cần làm lại mọi thứ để xóa từng tài liệu khỏi hàng đợi của mình và chuyển sang findOneAndUpdate thay vì update vì vậy bạn có quyền truy cập vào tài liệu bạn đã cập nhật từ 'queued' thành 'active' .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Đếm cả mảng nhúng bên ngoài và bên trong trong một truy vấn duy nhất

  2. MongoDB:đặt người dùng / mật khẩu để truy cập vào db

  3. MongoDB - Còn kiểu giá trị Decimal thì sao?

  4. Trường $ name phải là một đối tượng tích lũy

  5. Cách phù hợp để thực hiện truy vấn MongoDB đồng bộ trong Node.js là gì?