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

Cách giới hạn số lần cập nhật tài liệu trong mongodb

Bạn có thể sử dụng:

db.collection.find().limit(NUMBER_OF_ITEMS_YOU_WANT_TO_UPDATE).forEach(
    function (e) {
        e.fieldToChange = "blah";
        ....
        db.collection.save(e);
    }
);

(Tín dụng cho mỗi mã forEach:MongoDB:Cập nhật tài liệu bằng cách sử dụng dữ liệu từ cùng một tài liệu)

Điều này sẽ làm chỉ là thay đổi số lượng mục nhập mà bạn chỉ định. Vì vậy, nếu bạn muốn thêm trường có tên "newField" có giá trị 1 vào chỉ một nửa số mục nhập bên trong "bộ sưu tập", chẳng hạn, bạn có thể đưa vào

db.collection.find().limit(db.collection.count() / 2).forEach(
    function (e) {
        e.newField = 1;
        db.collection.save(e);
    }
);

Nếu sau đó bạn muốn đặt nửa kia cũng có "newField" nhưng với giá trị 2, bạn có thể cập nhật với điều kiện newField không tồn tại:

db.collection.update( { newField : { $exists : false } }, { $set : { newField : 2 } }, {multi : true} );


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tạo mối quan hệ Khoá ngoại trong Mongoose

  2. MongoDB findOne ()

  3. MongoDB $ và Nhà điều hành đường ống tổng hợp

  4. Cách giảm chỉ mục bằng Mongoose

  5. Mongoose:dân số sâu (điền vào một trường đông dân cư)