Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
$lookup
Die $lookup Aggregationsphase in Amazon DocumentDB ermöglicht es Ihnen, einen Left Outer Join zwischen zwei Sammlungen durchzuführen. Mit diesem Vorgang können Sie Daten aus mehreren Sammlungen auf der Grundlage übereinstimmender Feldwerte kombinieren. Dies ist besonders nützlich, wenn Sie Daten aus verwandten Sammlungen in Ihre Abfrageergebnisse integrieren müssen.
Parameter
-
from: Der Name der Sammlung, mit der die Verknüpfung durchgeführt werden soll. -
localField: Das Feld aus den Eingabedokumenten, das mit dem abgeglichen werden sollforeignField. -
foreignField: Das Feld aus den Dokumenten in derfromSammlung, mit dem abgeglichen werden solllocalField. -
as: Der Name des neuen Felds, das zu den Ausgabedokumenten hinzugefügt werden soll, die die passenden Dokumente aus derfromSammlung enthalten.
Beispiel (MongoDB Shell)
Das folgende Beispiel zeigt einen einfachen $lookup Vorgang, bei dem Daten aus der orders Sammlung mit der customers Sammlung verknüpft werden.
Erstellen Sie Beispieldokumente
db.customers.insertMany([ { _id: 1, name: "Alice" }, { _id: 2, name: "Bob" }, { _id: 3, name: "Charlie" } ]); db.orders.insertMany([ { _id: 1, customer_id: 1, total: 50 }, { _id: 2, customer_id: 1, total: 100 }, { _id: 3, customer_id: 2, total: 75 } ]);
Beispiel für eine Abfrage
db.customers.aggregate([ { $lookup: { from: "orders", localField: "_id", foreignField: "customer_id", as: "orders" } } ]);
Ausgabe
[
{
_id: 1,
name: 'Alice',
orders: [
{ _id: 2, customer_id: 1, total: 100 },
{ _id: 1, customer_id: 1, total: 50 }
]
},
{ _id: 3, name: 'Charlie', orders: [] },
{
_id: 2,
name: 'Bob',
orders: [ { _id: 3, customer_id: 2, total: 75 } ]
}
]
Codebeispiele
Um ein Codebeispiel für die Verwendung des $lookup Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten: