Ich verstehe das kein Programmierproblem, ich finde keine sehr klare und anschauliche Lösung.
Mongoids Dokumentation ist ziemlich klar:
Eingebettete Beziehungen beschreiben Dokumente, die in anderen Dokumenten in der Datenbank gespeichert sind.
Referenzierte Beziehungen beschreiben Dokumente, die auf Dokumente in einer anderen Sammlung verweisen, indem sie Fremdschlüsseldaten (normalerweise eine ID) über das andere Dokument in sich speichern.
Im Detail:
has_many
Beim Definieren einer Beziehung dieser Art wird jedes Dokument in seiner jeweiligen Sammlung gespeichert, aber das untergeordnete Dokument enthält einen "Fremdschlüssel" -Referenz auf das übergeordnete Element.
%Vor%has_and_belongs_to_many
Beim Definieren einer Beziehung dieser Art wird jedes Dokument in seiner jeweiligen Sammlung gespeichert, und jedes Dokument enthält eine "Fremdschlüssel" -Referenz auf die andere in Form eines Arrays.
%Vor%embeds_many
Dokumente, die mit dem Makro embeds_many
eingebettet sind, werden als Array von Hashwerten innerhalb des übergeordneten Elements in der Datenbanksammlung des übergeordneten Elements gespeichert.
gehört zu:
Eine assignes_to-Assoziation richtet eine Eins-zu-Eins-Verbindung mit einem anderen Modell ein, so dass jede Instanz des deklarierenden Modells "zu einer Instanz des anderen Modells gehört". has_many
has_many:
Eine has_many-Assoziation zeigt eine Eins-zu-viele-Verbindung mit einem anderen Modell an. Sie finden diese Assoziation oft auf der "anderen Seite" einer assignes_to-Assoziation. Diese Zuordnung gibt an, dass jede Instanz des Modells null oder mehr Instanzen eines anderen Modells aufweist.
embeds_many:
wird in mongoid
für mongodb
selbe wie has_many
Tags und Links ruby mongoid ruby-on-rails mongodb