4 Stimmen

Doctrine / MongoDB / Strategie - Aktualisieren von Dokumenten mit persist / flush

Ich führe Unit-Tests auf Mongo-DB-Dokumente... und fand, dass die einzige Möglichkeit, die ich ein vorhandenes Objekt nach dem Auffinden aktualisieren konnte, war die ( strategy="set" ) innerhalb der Annotationen festgelegt. Weiß jemand, warum dies gesetzt werden muss? Und besser noch, was genau ändert sich durch diese Einstellung?

0voto

Madarco Punkte 2062

En strategy="set" Attribut verweisen auf das @Collection auf eine Eigenschaft eines Dokuments zu verweisen:

http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/annotations-reference.html#collection

z. B:

class User {

   /** @Collection(strategy="set") */
   public $tags;
}

Der Standardwert für die Strategie ist pushAll die die neu hinzugefügten Werte an die $tags Array.

Mit set die $tags Array wird überschreiben. den in der Datenbank gespeicherten Wert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X