sql >> Databasteknik >  >> NoSQL >> MongoDB

Java, MongoDB:Hur uppdaterar man varje objekt samtidigt som man itererar en enorm samling?

Ditt tillvägagångssätt är i grunden korrekt. Jag skulle dock inte betrakta en sådan samling som "stor" Du kan köra något liknande från skalet:

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

Beroende på din MongoDB-version, konfiguration och belastning kan detta ta något mellan några minuter till flera timmar

Om du vill utföra den här uppdateringen i bulk, använd några villkor i ditt frågedokument, något som coll.find({"aFiled" : {$gt : minVal}, "aFiled" : {$lt : maxVal}})



  1. Använda Redis för köer för flera Laravel-applikationer på en enda server

  2. Hur skyddar man lösenordsfältet i Mongoose/MongoDB så att det inte kommer tillbaka i en fråga när jag fyller i samlingar?

  3. Hur man väljer det bästa MongoDB-hotellet för ditt företag

  4. Exportera en MongoDB-samling till en JSON-fil