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

Array mit Doctrine und MongoDB speichern

Wenn Sie Werte, die keiner Dokumentenklasse zugeordnet sind, in einem Array speichern müssen, können Sie die collection verwenden Feldzuordnung, die einem einfachen Array in MongoDB zugeordnet ist. Es gibt auch einen hash Typ, der auf ähnliche Weise ein assoziatives Array in PHP in ein Objekt in MongoDB konvertiert, ohne irgendetwas darin zuzuordnen.

Wenn "Type" in Ihrem Beispiel eine zugeordnete Dokumentklasse ist, sollten Sie einen EmbedMany Beziehung, die ein oder mehrere zugeordnete Dokumente in einem Array innerhalb des übergeordneten Dokuments speichert. Innerhalb von MongoDB wird dies als ein Array von Objekten dargestellt, was dem ähnelt, was Sie selbst mit der collection tun könnten Feld (Speichern eines Arrays assoziativer Arrays); ODM verwendet jedoch die EmbedMany-Zuordnung, um diese Objekte wieder in Dokumentinstanzen zu hydratisieren.