O que é agregação em MongoDB com exemplo

O que é agregação em MongoDB com exemplo
Os sistemas de gerenciamento de banco de dados têm algumas operações comuns suportadas pelos bancos de dados SQL e NoSQL também. A operação de agregação é uma delas e é apoiada por vários bancos de dados relacionais e não relacionais. MongoDB é um daqueles bancos de dados que têm o apoio desta operação. A agregação é uma operação chave em qualquer banco de dados que permita processar registros de dados para obter resultados direcionados. Com a ajuda da agregação, os usuários podem combinar várias entidades para formar uma única entidade significativa, agrupando os dados.

As operações de agregação consistem em várias expressões que ajudam a agrupar os dados para uma saída significativa. Por exemplo, um laptop, celulares, gadgets podem ser combinados em uma única entidade, digamos Technology_store. As entidades são combinadas quando entidades individuais não representam nada ou não têm significado.

Este artigo fornece uma visão profunda do método agregado e das expressões apoiadas por este método.

Como a função agregada funciona em MongoDB

Em primeiro lugar, para agregação, é recomendável entender a função agregada; A sintaxe desta função é fornecida abaixo:

> dB.coleção.agregado (operação agregada)

Na sintaxe, “coleção" e "Operação agregada”São definidos pelo usuário. O "coleção”O nome pode ser qualquer coisa e“Operação agregada”Pode ser criado usando várias expressões agregadas suportadas pelo MongoDBB. Poucas expressões agregadas bem conhecidas usadas estão listadas abaixo:

  • $ sum: Esta expressão adiciona os valores de um campo específico em um documento.
  • $ min: Obtém o valor mínimo dos valores correspondentes em todos os documentos.
  • $ max: Funciona o mesmo que $ min, no entanto, ele obtém o valor máximo.
  • $ avg: Esta expressão é usada para calcular a média dos valores determinados em uma coleção
  • $ last: Ele retorna o último documento do documento de origem
  • $ primeiro: É usado para retornar o primeiro documento de um documento de origem
  • $ push: Esta expressão insere valores em uma matriz no documento resultante (as duplicatas podem ocorrer enquanto usam $ push)

Como usar uma função agregada em MongoDB

Nesta seção, fornecemos alguns exemplos que o ajudarão a entender o trabalho da agregação em MongoDB.

O nome da coleção usado neste exemplo é “trabalhadores”E o conteúdo dentro é mostrado abaixo:

> dB.trabalhadores.encontrar().bonito()

Como mostra a produção, os trabalhadores têm campos: "Nome", "Designação", "Departamento" e "salário".

Exemplo 1: Usando a expressão $ sum

A seguinte operação de agregação agrupará os trabalhadores em relação ao departamento associado e $ sum A expressão é usada para fornecer um número total de trabalhadores em cada departamento:

Como a saída mostra que o comando categorizou os trabalhadores em relação aos departamentos associados:

> dB.trabalhadores.agregado ([$ Group: _id: "$ departamento", Total_workers: $ sum: 1])

Você também pode agrupar os dados de outras maneiras; Como se você quiser obter o número de trabalhadores em relação às suas designações; Você também pode fazê-lo usando o comando abaixo estatado:

Um resultado como esse pode ser útil para obter o número de trabalhadores em diferentes designações.

> dB.trabalhadores.agregado ([$ Group: _id: "$ designação", Total_workers: $ sum: 1]))

Exemplo 2: Usando a expressão $ avg

Neste exemplo, a coleção é a mesma do Exemplo 1. Aqui, $ avg A expressão de agregação é usada para obter o salário médio em cada departamento de trabalhadores coleção. No nosso caso, a seguinte função agregada calculará o salário médio dos trabalhadores em “escrita" e "vídeo”Departamentos:

> dB.trabalhadores.agregado ([$ Group: _id: "$ departamento", média: $ avg: "$ salary"]))

Exemplo 3: Usando $ min e $ max expressões

Você pode obter o salário mínimo especificando o $ min Expressão no método agregado: o comando abaixo mencionado imprimirá o salário mínimo dos trabalhadores nos dois departamentos:

> dB.trabalhadores.agregado ([$ Group: _id: "$ departamento", min_salary: $ min: "$ salary"])

E o comando mencionado abaixo verificará o salário máximo dos trabalhadores, agrupando -os “designação" sábio:

Conforme discutido anteriormente, para o cálculo dos valores máximos, $ max Operação é usada:

> dB.trabalhadores.agregado ([$ Group: _id: "$ designação", max_salary: $ max: "$ salary"])

Exemplo 4: Usando $ push Expression

Este exemplo explica o uso de $ push com o método agregado em mongodb. A expressão $ push retorna os dados como valores da matriz e é usado para obter resultados condicionais em dados agrupados. Aqui, neste exemplo, estamos usando a coleção “Tech_store”E o conteúdo a seguir reside dentro dele:

> dB.Tech_store.encontrar()

A coleção contém uma lista de poucos produtos e suas datas de validade. O comando escrito abaixo executará as seguintes ações:

  • agrupa os dados em relação ao ano de validade de cada produto.
  • Os documentos que caem a cada ano serão pressionados usando o operador $ push.
> dB.Tech_store.agregado ([$ GRUPO: _id: expiry: $ ano: "$ expiry", itemstoexpire: $ push: Product: "$ Product", Quantity: "$ Qty"]).bonito()

Exemplo 5: Usando $ primeiro e $ last Expressions

Existem mais duas expressões ($ primeiro e $ last) que podem ser usados ​​no método agregado. Para o exercício desses métodos, usaremos um “laptops”Coleção que contém os seguintes documentos.

> dB.laptops.encontrar()

$ primeiro: O $ First Operator é usado para imprimir o último valor dos dados agrupados. Por exemplo, o comando escrito abaixo agrupará os dados de acordo com o “produtos”Campo e, em seguida, o $ First Operator exibe os itens que serão expirados de.

> dB.laptops.agregado ([$ Group: _id: "$ Product", Itemstoexpire: $ First: "$ expiry"]).bonito()

$ last: Usando $ last, Você pode verificar o último valor de qualquer campo em um dados agrupados. Por exemplo, o comando abaixo mencionado agrupará os dados em relação ao “produtos”Campo e o $ last O operador é então usado para obter a data de validade (ocorrendo no final) de cada produto.

> dB.laptops.agregado ([$ Group: _id: "$ Product", Itemstoexpire: $ last: "$ expiry"]).bonito()

Conclusão

O MongoDB tem uma ampla gama de funções disponíveis para executar operações específicas em coleções completas ou em um documento específico em uma coleção. A função agregada é praticada geralmente para obter o resultado calculado da coleção, agrupando os dados para buscar entidades significativas. Neste post informativo, você aprenderá o básico do conceito de agregação em MongoDB e as expressões usadas na agregação. No final, alguns exemplos de agregação são executados para mostrar a implementação da função agregada em MongoDB, seguida de exercícios também.