sql >> Database >  >> NoSQL >> MongoDB

Java, MongoDB:hoe werk je elk object bij terwijl je een enorme verzameling itereert?

Je benadering is in principe correct. Ik zou zo'n verzameling echter niet als "enorm" beschouwen. Je kunt iets soortgelijks vanuit de shell uitvoeren:

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

Afhankelijk van uw MongoDB-versie, configuratie en belasting, kan dit enkele minuten tot enkele uren duren

Als u deze update in bulk wilt uitvoeren, gebruik dan enkele voorwaarden in uw zoekdocument, bijvoorbeeld coll.find({"aFiled" : {$gt : minVal}, "aFiled" : {$lt : maxVal}})



  1. Schakel transparante grote pagina's van Kubernetes uit

  2. Redis:Toon databasegrootte/grootte voor sleutels

  3. Redis ontmaskeren met Ingress Nginx Controller

  4. redis HLL te veel valse positieven