Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
$lookup
La fase di $lookup aggregazione in Amazon DocumentDB consente di eseguire un'unione esterna sinistra tra due raccolte. Questa operazione consente di combinare i dati di più raccolte in base ai valori dei campi corrispondenti. È particolarmente utile quando è necessario incorporare dati provenienti da raccolte correlate nei risultati delle query.
Parametri
-
from: il nome della raccolta con cui eseguire l'unione. -
localField: Il campo dei documenti di input da confrontare conforeignField. -
foreignField: Il campo dei documenti dellafromraccolta da confrontare conlocalField. -
as: Il nome del nuovo campo da aggiungere ai documenti di output contenenti i documenti corrispondenti dellafromraccolta.
Esempio (MongoDB Shell)
L'esempio seguente dimostra una semplice $lookup operazione che unisce i dati della orders raccolta alla raccolta. customers
Crea documenti di esempio
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 } ]);
Esempio di query
db.customers.aggregate([ { $lookup: { from: "orders", localField: "_id", foreignField: "customer_id", as: "orders" } } ]);
Output
[
{
_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 } ]
}
]
Esempi di codice
Per visualizzare un esempio di codice per l'utilizzo del $lookup comando, scegliete la scheda relativa alla lingua che desiderate utilizzare: