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

Empfehlungen zur Struktur für Mongoid/MongoDB Tree of Tags

Müssen Sie die Struktur des Baums aktualisieren (d. h. ein Tag zu einem anderen übergeordneten Element verschieben)? Wenn das möglich ist, wird der eingebettete Ansatz schwierig und der relationale/normalisierte Ansatz ist sinnvoller.

Ich würde wahrscheinlich die Tags selbst im Dokument speichern (eingebettet), aber wenn die Möglichkeit besteht, dass ich Baumknoten online verschieben muss, würde ich die Hierarchie in einem anderen Dokument speichern. Abfragen müssen nicht langsam sein, wenn Sie zuerst die Suchanfrage (gemäß dem aktuellen Baum) glätten und dann nach diesen Tags suchen. Dieser Ansatz lässt sich wahrscheinlich nicht gut skalieren, wenn die abgeflachte Suchanfrage am Ende Hunderte von Tags enthält (wie hoch ist Ihr Baum?).

Wenn Tags nicht auf neue übergeordnete Elemente verschoben werden können (oder nur von Ihnen während der geplanten Wartung), fahren Sie fort und betten Sie die gesamte Hierarchie ein.