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:
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:
> 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.