Questão FC369628
Observe os conjuntos de dados do MongoDB a seguir. Coleções: Autor: { "_id": 1, "nome": "João", "email": "joao@ www.mpu.mp.br" } Endereco: { "_id": 101, "usuario_id": 1, "quadra":
Sistema de Gerenciamento de Banco de Dados (SGBD)
FGV · 2025
Observe os conjuntos de dados do MongoDB a seguir.
Coleções:
Autor: { "_id": 1, "nome": "João", "email": "joao@ www.mpu.mp.br" }
Endereco: { "_id": 101, "usuario_id": 1, "quadra": "202","cidade": "Brasília", "cep": "70000-000" }
Resultado da junção:
{ "_id": 1, "nome": "João", "email": " joao@
www.mpu.mp.br ", "detalhes_endereco": [ { "_id": 101,
"usuario_id": 1, "quadra": "202", "cidade": " Brasília",
"cep": "70000-000" } ] }
No MongoDB, para realizar operações de junção entre as coleções combinando os dados de Autor e seu respectivo Endereco, deve-se utilizar a operação:
- $skip
- $sort
- $match
- $group
- $lookup
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
$lookup é o estágio do aggregation framework do MongoDB usado para unir documentos de coleções diferentes, funcionando como um left outer join. Ele combina cada documento da coleção de entrada com os documentos correspondentes da coleção de destino e adiciona os resultados em um campo do tipo array.
No exemplo, a junção pode ser configurada assim: localField: "_id", foreignField: "usuario_id" e as: "detalhes_endereco". O documento do autor mantém seus campos originais e recebe "detalhes_endereco": [ { ...endereços correspondentes... } ].
Para relações mais complexas, use a forma com let e pipeline, que permite expressar condições e projeções dentro do próprio estágio $lookup. Se não houver correspondência, o array resultante será vazio, preservando o documento original.
Conteúdo do catálogo FC Concursos · Atualizado em