sql >> Databáze >  >> NoSQL >> MongoDB

Java, MongoDB:Jak aktualizovat každý objekt při iteraci obrovské sbírky?

Váš přístup je v zásadě správný. Takovou sbírku bych však nepovažoval za „obrovskou“. Něco podobného můžete spustit z shellu:

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

V závislosti na vaší verzi MongoDB, konfiguraci a zatížení to může trvat několik minut až několik hodin

Pokud chcete tuto aktualizaci provést hromadně, použijte některé podmínky v dokumentu dotazu, například coll.find({"aFiled" : {$gt : minVal}, "aFiled" : {$lt : maxVal}})



  1. Chyba pole v objektu 'cíl' na poli '':zamítnutá hodnota []; kódy [typeMismatch.target.,typeMismatch.,typeMismatch.java.util.Date,typeMismatch]

  2. Přidání/odečtení dnů k ISODate v MongoDB Shell

  3. Úvod do Redis Cluster Sharding – výhody, omezení, nasazení a připojení klientů

  4. O MongoDB