sql >> Database teknologi >  >> NoSQL >> MongoDB

Java, MongoDB:Hvordan opdaterer man hvert objekt, mens man gentager en enorm samling?

Din tilgang er dybest set korrekt. Jeg ville dog ikke betragte en sådan samling som "stor" Du kan køre noget lignende fra skallen:

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

Afhængigt af din MongoDB-version, konfiguration og belastning kan dette tage noget mellem få minutter til flere timer

Hvis du vil udføre denne opdatering i massevis, skal du bruge nogle betingelser i dit forespørgselsdokument, f.eks. coll.find({"aFiled" : {$gt : minVal}, "aFiled" : {$lt : maxVal}})



  1. Sådan tilføjes data til array i Mongoose Schema

  2. Giver Mongoose adgang til tidligere værdi af ejendom i pre('save')?

  3. MongoDB replikasæt med voldgiftsdommere

  4. MongoDB $pull array 2 niveau