Wenn Sie MongoDb Version 3.2 verwenden, können Sie $ lookup verwenden, um ein linker äußerer Join.
Für ein bestimmtes Personendokument können Sie die Funktion %code% wie Wenn Sie beispielsweise nach Personen suchen möchten, die ein Tag mit 'MongoDB' oder 'Node JS' haben, können Sie die Abfrageoption in die Funktionsüberladung %code% wie folgt einfügen: Wenn Sie möchten, dass alle Tags in %code% für alle Personen vorhanden sind, dann ist Aggregation Framework der richtige Weg. Erwägen Sie, diese Pipeline für die Personenkollektion auszuführen, und verwenden Sie die %code% -Operator, um einen linken Join in der Tag-Sammlung zu machen: Für eine bestimmte Person wenden Sie dann eine %code% Pipeline als ersten Schritt zum Filtern der Dokumente: Eine weitere Problemumgehung, wenn Sie MongoDB-Versionen & gt; = 2.6 oder & lt; = 3.0 verwenden, die keine Unterstützung für %code% füllt die Ergebnisse der Aggregation als:
Habe zwei Collectionen, Tags und Personen.
Tags-Modell:
%Vor%Personenmodell:
%Vor%Ich möchte eine Abfrage, die alle Tags zurückgibt, die im Personenmodell verwendet werden. Alle Dokumente.
Etwas wie
%Vor%Oder sollte ich irgendwie den aggregierten Ansatz dazu verwenden?