execute a junção interna no MongoDB usando o operador de agregação $lookup

no MongoDB 3.2 introduziu o operador $ lookup no framework de agregação que pode ser utilizado para executar a junção à esquerda.
por favor, note que a operação de dados MongoDB não é como
dados operacionais em banco de dados relacional, por isso é sempre aconselhável ter dados relevantes para estar dentro do mesmo documento
aqueles que muitas vezes usam juntos. Mas em um certo caso, é necessário colocar em duas coleções diferentes devido a vários
como, para evitar a duplicação de dados para os quais temos operações de atualização pesadas, uso em várias coleções, etc.

JOIN é uma das principais diferenças entre a base de dados SQL e NoSQL, onde como operador MongoDB Aggregation $lookup
é útil e poderoso para se juntar a duas coleções, como fazê-lo em RDBMS.

agregação MongoDB

vamos ver mais adiante:

sintaxe:

Saiba mais sobre a MÉDIA da Pilha
Desenvolvimento

Se você estiver vindo de RDBMS mundo, então você pode estar esperando isso como documento separado link de todos os campos de local
e estrangeiros coleção, mas NÃO, todos os documentos estrangeiros será adicionado como uma matriz de locais de coleta de documento. Uma vez que todos os documentos estrangeiros
adicionados dentro do documento você pode querer usar apenas se um número de documentos relativos estrangeiros são
limitado e não fazendo o tamanho do documento resultado exceder o limite de tamanho do documento.

Ex:

digamos ter duas coleções “encomendas” e “produto” com os seguintes dados.

Pedidos:

Produtos:

Agora para recuperar a ordem com detalhe do produto podemos usar abaixo

Resultado os documentos de:

Normalmente, pode contém vários itens, vamos ver como você pode executar $de pesquisa dentro do elemento de matriz.

vamos mudar as colecções de encomendas para se parecerem abaixo

neste caso, os itens de ordem estão na lista que
é necessário para desanuviar usando o operador $desanuviar, o que irá criar um documento separado
por item e, em seguida, você pode realizar a pesquisa. O guião pode parecer-se com o que está em baixo.

Resultado:

Você não pode querer usar $operador de pesquisa para obter todos os pedidos para um determinado produto em outras palavras ordens de associação em
produto. Em caso de produto mais vendido nós podemos ter milhares de ordem e todos adicionados dentro de um único array pode causar
document size limit array.

Deixe uma resposta

O seu endereço de email não será publicado.

More: