ano, výše uvedený kód funguje naprosto v pořádku. Už vím, kde jsem udělal chybu. Chtěl jsem to udělat neprůstřelně, takže jsem si řekl, že by bylo nejlepší použít save() na DBCollection na konci a explicitně uložit nákupní seznam DBObject:
shoppingLists.save( shoppingList );
Na nějakém jiném fóru jsem teď četl, že objekty, které načtete z databáze, se poté nesynchronizují s databází (teď mi to zní tak nějak logicky :) ). Změny jsem tedy pokaždé přepsal sám. Po odstranění řádku nahoře to fungovalo :)
Takže jedno důležité pravidlo:Když aktualizujete DBCollection
– odesílá se přímo do databáze! – neukládejte DBObject
že jste se zeptali před aktualizací! Přepíše vaši aktualizaci!