¿Qué es la agregación en MongoDB con ejemplo?

¿Qué es la agregación en MongoDB con ejemplo?
Los sistemas de gestión de bases de datos tienen algunas operaciones comunes que también son compatibles con las bases de datos SQL y NoSQL. La operación de agregación es una de ellas y está respaldada por varias bases de datos relacionales y no relacionales. MongoDB es una de esas bases de datos que tiene el soporte de esta operación. La agregación es una operación clave en cualquier base de datos que le permita procesar registros de datos para obtener resultados específicos. Con la ayuda de la agregación, los usuarios pueden combinar varias entidades para formar una sola entidad significativa agrupando los datos.

Las operaciones de agregación consisten en varias expresiones que ayudan a agrupar los datos para una salida significativa. Por ejemplo, una computadora portátil, móviles, gadgets se pueden combinar bajo una sola entidad, digamos tecnología_store. Las entidades se combinan cuando las entidades individuales no representan nada o no tienen sentido.

Este artículo proporciona una visión profunda del método agregado y las expresiones respaldadas por este método.

¿Cómo funciona la función agregada en MongoDB?

En primer lugar, para la agregación, se recomienda comprender la función agregada; La sintaxis de esta función se proporciona a continuación:

> DB.recopilación.agregado (operación agregada)

En la sintaxis, "recopilación" y "operación agregada"Están definidos por el usuario. El "recopilación"El nombre puede ser cualquier cosa y"operación agregada"Se puede crear utilizando varias expresiones agregadas compatibles con MongoDB. Pocas expresiones agregadas bien conocidas utilizadas se enumeran a continuación:

  • $ suma: Esta expresión agrega los valores de un campo específico en un documento.
  • $ min: Obtiene el valor mínimo de los valores correspondientes en todos los documentos.
  • $ max: Funciona igual que $ min, sin embargo, obtiene el valor máximo.
  • $ AVG: Esta expresión se usa para calcular el promedio de valores dados en una colección
  • $ Último: Devuelve el último documento del documento de origen
  • $ primero: Se utiliza para devolver el primer documento de un documento de origen
  • $ push: Esta expresión inserta valores en una matriz en el documento resultante (pueden ocurrir duplicados mientras usan $ Push)

Cómo usar una función agregada en MongoDB

En esta sección, hemos proporcionado algunos ejemplos que lo ayudarán a comprender el funcionamiento de la agregación en MongoDB.

El nombre de la colección utilizado en este ejemplo es "trabajadores"Y el contenido dentro se muestra a continuación:

> DB.trabajadores.encontrar().bonito()

Como muestra la producción, los trabajadores tienen campos: "Nombre", "Designación", "Departamento" y "salario".

Ejemplo 1: Usando la expresión de $ suma

La siguiente operación de agregación agrupará a los trabajadores con respecto al departamento asociado y $ suma La expresión se usa para dar un número total de trabajadores en cada departamento:

Como el resultado muestra que el comando ha clasificado a los trabajadores con respeto a los departamentos asociados:

> DB.trabajadores.Aggregate ([$ Group: _id: "$ departamento", Total_workers: $ sum: 1])

También puede agrupar los datos de otras maneras; Como si desea obtener el número de trabajadores con respecto a sus designaciones; También puede hacerlo usando el comando declarado a continuación:

Un resultado como este puede ser útil para obtener el número de trabajadores en diferentes designaciones.

> DB.trabajadores.agregado ([$ grupo: _id: "$ designación", total_workers: $ sum: 1])

Ejemplo 2: usando la expresión de $ AVG

En este ejemplo, la colección es la misma que en el Ejemplo 1. Aquí, $ AVG La expresión de agregación se usa para obtener el salario promedio en cada departamento de trabajadores recopilación. En nuestro caso, la siguiente función agregada calculará el salario promedio de los trabajadores en "escribiendo" y "video"Departamentos:

> DB.trabajadores.agregado ([$ grupo: _id: "$ departamento", promedio: $ avg: "$ salario"])

Ejemplo 3: Uso de expresiones $ min y $ max

Puede obtener el salario mínimo especificando el $ min Expresión en el método agregado: el comando mencionado a continuación imprimirá el salario mínimo de los trabajadores en ambos departamentos:

> DB.trabajadores.Aggregate ([$ Group: _id: "$ departamento", min_salary: $ min: "$ salary"])

Y el comando mencionado a continuación verificará el salario máximo de los trabajadores agrupándolos "designación" inteligente:

Como se discutió anteriormente, para el cálculo de valores máximos, $ max Se utiliza la operación:

> DB.trabajadores.agregado ([$ grupo: _id: "$ designación", max_salary: $ max: "$ salario"]))

Ejemplo 4: usando $ Push Expression

Este ejemplo explica el uso de $ Push con el método agregado en MongoDB. La expresión $ push devuelve los datos como valores de matriz y se usa para obtener resultados condicionales en datos agrupados. Aquí, en este ejemplo, estamos usando la colección "tech_store"Y el siguiente contenido reside dentro de él:

> DB.tech_store.encontrar()

La colección contiene una lista de pocos productos y sus fechas de vencimiento. El comando escrito a continuación realizará las siguientes acciones:

  • agrupa los datos con respecto al año de vencimiento de cada producto.
  • Los documentos que caen cada año serán empujados utilizando el operador $ push.
> DB.tech_store.Aggregate ([$ Group: _id: expiry: $ año: "$ expiry", itemstoEXPIRE: $ push: Product: "$ Product", Cantidad: "$ Qty"])).bonito()

Ejemplo 5: Uso de $ First y $ Last Expressions

Hay dos expresiones más ($ primero y $ Último) que se puede usar en el método agregado. Para el ejercicio de estos métodos, usaremos un "computadoras portátiles"Colección que contiene los siguientes documentos.

> DB.computadoras portátiles.encontrar()

$ primero: El primer operador $ se utiliza para imprimir el último valor de los datos agrupados. Por ejemplo, el comando escrito a continuación agrupará los datos de acuerdo con el "ProductoCampo "y luego el $ First Operator muestra los elementos que serán expirados de.

> DB.computadoras portátiles.Aggregate ([$ Group: _id: "$ Product", itemStoEXPIRE: $ primero: "$ expiry"])).bonito()

$ Último: Mediante el uso $ Último, Puede verificar el último valor de cualquier campo en un datos agrupados. Por ejemplo, el comando mencionado a continuación agrupará los datos con respecto al "Producto"Campo y el $ Último El operador se usa para obtener la fecha de vencimiento (que ocurre al final) de cada producto.

> DB.computadoras portátiles.Aggregate ([$ Group: _id: "$ Product", itemStoEXPIRE: $ Last: "$ expiry"]).bonito()

Conclusión

MongoDB tiene una amplia gama de funciones disponibles para realizar operaciones específicas en colecciones completas o un documento específico en una colección. La función agregada se practica generalmente para obtener el resultado calculado de la recopilación agrupando los datos para obtener entidades significativas. En esta publicación informativa, aprenderá los conceptos básicos del concepto de agregación en MongoDB y las expresiones utilizadas en la agregación. Al final, se ejecutan algunos ejemplos de agregación para mostrar la implementación de la función agregada en MongoDB, seguido de ejercer sus expresiones también.