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

Jak aktualizuji pole dokumentů v mongo db pomocí ovladače java?

Zajímalo by mě, jestli je ovladač dost chytrý na to, aby aktualizoval jen tu nejmenší podmnožinu změn, nebo jestli jen slepě aktualizuje celou věc?

Ne, pokud použijete "normální" metodu aktualizace, celý objekt bude odeslán po drátě. Mám podezření, že samotný databázový server bude dostatečně chytrý, aby aktualizoval pouze potřebné indexy (a ne ty, které se nezměnily). pokud je to možné (tj. objekt mohl být aktualizován na místě a nemusel se přesouvat, protože příliš vyrostl)

Co můžete udělat, je použít funkce "modifikace atomové aktualizace". Java dokumentace je na ně trochu lehká, ale protože ovladač pouze přenáší JSON, měly by fungovat věci z jiných než Java tutoriálů, například:

shapes.update((DBObject)JSON.parse(    "{ 'foo' : 'bar'}"),  
    (DBObject) JSON.parse(          "{ '$set' : { 'foo': 'bat'}}")   );


  1. Co dělá parametr bind v Redis?

  2. Nebezpečí vytváření indexů na MongoDB

  3. Meteor bez monga

  4. Jak efektivně mazat dokumenty dotazem v mongo?