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'}}") );