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

Java, MongoDB:Làm thế nào để cập nhật mọi đối tượng trong khi lặp lại một bộ sưu tập lớn?

Cách tiếp cận của bạn về cơ bản là đúng. Tuy nhiên, tôi sẽ không coi một bộ sưu tập như vậy là "khổng lồ". Bạn có thể chạy một cái gì đó tương tự từ shell:

coll.find({}).forEach(function (doc) {
    doc.flag = Math.floor((Math.random()*2)+1);
    coll.save(doc);
 });

Tùy thuộc vào phiên bản MongoDB, cấu hình và tải của bạn, quá trình này có thể mất vài phút đến vài giờ

Nếu bạn muốn thực hiện cập nhật này hàng loạt, hãy sử dụng một số điều kiện trong tài liệu truy vấn của bạn, chẳng hạn như coll.find({"aFiled" : {$gt : minVal}, "aFiled" : {$lt : maxVal}})



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm thế nào để tạo lược đồ mongoose động?

  2. Khi nào sử dụng GridFS trên MongoDB?

  3. Trả về số lượng bản ghi có hạn của một loại nhất định, nhưng không giới hạn số lượng bản ghi khác?

  4. MongoDB:Làm thế nào để xác định một lược đồ?

  5. render_template với nhiều biến