Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
$lookup
La phase $lookup d'agrégation dans Amazon DocumentDB vous permet d'effectuer une jointure externe gauche entre deux collections. Cette opération vous permet de combiner les données de plusieurs collections en fonction des valeurs de champ correspondantes. Cela est particulièrement utile lorsque vous devez intégrer des données provenant de collections connexes dans les résultats de vos requêtes.
Paramètres
-
from: nom de la collection avec laquelle effectuer la jointure. -
localField: Le champ des documents d'entrée à mettre en correspondance avec leforeignField. -
foreignField: Le champ des documents de lafromcollection à mettre en correspondance avec lelocalField. -
as: nom du nouveau champ à ajouter aux documents de sortie contenant les documents correspondants de lafromcollection.
Exemple (MongoDB Shell)
L'exemple suivant illustre une $lookup opération simple qui permet de joindre les données de la orders collection à la customers collection.
Création d'exemples de documents
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 } ]);
Exemple de requête
db.customers.aggregate([ { $lookup: { from: "orders", localField: "_id", foreignField: "customer_id", as: "orders" } } ]);
Sortie
[
{
_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 } ]
}
]
Exemples de code
Pour afficher un exemple de code relatif à l'utilisation de la $lookup commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :