As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
$lookup
O estágio $lookup de agregação no Amazon DocumentDB permite que você realize uma junção externa esquerda entre duas coleções. Essa operação permite combinar dados de várias coleções com base nos valores de campo correspondentes. É particularmente útil quando você precisa incorporar dados de coleções relacionadas aos resultados da consulta.
Parâmetros
-
from: O nome da coleção com a qual realizar a junção. -
localField: o campo dos documentos de entrada para comparar comforeignFieldo. -
foreignField: O campo dos documentos nafromcoleção para comparar comlocalFieldo. -
as: o nome do novo campo a ser adicionado aos documentos de saída contendo os documentos correspondentes dafromcoleção.
Exemplo (MongoDB Shell)
O exemplo a seguir demonstra uma $lookup operação simples que une dados da orders coleção à customers coleção.
Crie documentos de amostra
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 } ]);
Exemplo de consulta
db.customers.aggregate([ { $lookup: { from: "orders", localField: "_id", foreignField: "customer_id", as: "orders" } } ]);
Saída
[
{
_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 } ]
}
]
Exemplos de código
Para ver um exemplo de código para usar o $lookup comando, escolha a guia do idioma que você deseja usar: