MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Java, MongoDB:Jak zaktualizować każdy obiekt podczas iteracji ogromnej kolekcji?

Twoje podejście jest w zasadzie poprawne. Nie uważałbym jednak takiej kolekcji za "ogromną" Możesz uruchomić coś podobnego z powłoki:

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

W zależności od wersji MongoDB, konfiguracji i ładowania może to zająć od kilku minut do kilku godzin

Jeśli chcesz wykonać tę aktualizację zbiorczo, użyj niektórych warunków w dokumencie zapytania, takich jak coll.find({"aFiled" : {$gt : minVal}, "aFiled" : {$lt : maxVal}})



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Masowe wstawianie mongodb w Meteor lub Node

  2. Błąd ECONNREFUSED podczas łączenia się z mongodb z node.js

  3. Jak uzyskać dzień, miesiąc i rok z daty w SQL?

  4. Odwołanie do schematu Mongoose i niezdefiniowany typ „ObjectID”

  5. MongoDB $pull array 2 level