MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Aktualisieren eines Arrays in MongoDB mit dem Java-Treiber

Ja, der obige Code funktioniert einwandfrei. Ich weiß jetzt, wo mein Fehler war. Ich wollte es kugelsicher machen, also dachte ich, es wäre am besten, save() auf der DBCollection am Ende zu verwenden und explizit die Einkaufsliste DBObject:

zu speichern
shoppingLists.save( shoppingList );

Ich habe jetzt in einem anderen Forum gelesen, dass die Objekte, die Sie aus der Datenbank abrufen, anschließend nicht mit der Datenbank synchronisiert werden (klingt für mich jetzt irgendwie logisch :) ). Also habe ich die Änderungen jedes Mal selbst überschrieben. Nach dem Entfernen der Zeile oben hat es funktioniert :)

Eine wichtige Regel also:Wenn Sie Ihre DBCollection aktualisieren – diese wird direkt an die Datenbank gesendet! – Speichern Sie kein DBObject die Sie vor dem Update abgefragt haben! Es wird Ihr Update überschreiben!