Operaciones de agregación en MongoDB

Las operaciones de agregación en MongoDB te permiten realizar transformaciones complejas en los datos almacenados en MongoDB y obtener resultados específicos basados en múltiples documentos. Usaremos una muestra de datos para ilustrar cómo funciona.


Preparar una colección con datos de muestra

A continuación, asegúrate de tener una colección con datos de muestra en tu base de datos. Puedes insertar algunos documentos en ella como se muestra en la lección anterior.


Realizar operaciones de agregación

Las operaciones de agregación se realizan utilizando el método aggregate en una colección MongoDB. Puedes especificar una serie de etapas de agregación en una tubería (pipeline) para transformar los datos. Aquí hay un ejemplo de cómo realizar algunas operaciones comunes de agregación en una colección ficticia llamada «personas».

Supongamos que tenemos una colección con documentos que contienen información sobre personas, y queremos realizar algunas operaciones de agregación.

async function operacionesDeAgregacion() {
  const collection = client.db("tu_base_de_datos").collection("personas");

  const pipeline = [
    {
      $match: { edad: { $gte: 18 } }
    },
    {
      $group: {
        _id: "$ciudad",
        total: { $sum: 1 }
      }
    },
    {
      $sort: { total: -1 }
    }
  ];

  const resultado = await collection.aggregate(pipeline).toArray();

  console.log("Resultado de la agregación:", resultado);
}

operacionesDeAgregacion();

En este ejemplo, la tubería de agregación consta de tres etapas:

  1. $match: Filtra los documentos en la colección para encontrar aquellos cuya edad sea mayor o igual a 18 años.
  2. $group: Agrupa los documentos por la ciudad y calcula el total de personas en cada ciudad.
  3. $sort: Ordena el resultado en orden descendente en función del total de personas.

El resultado será una lista de ciudades con el número total de personas mayores de 18 años en cada una.

Consejos y notas:

  • Puedes utilizar muchas otras etapas de agregación, como $project, $unwind, $lookup, etc., para realizar operaciones más complejas y personalizadas en tus datos.
  • Asegúrate de que tus datos de muestra sean coherentes con las operaciones de agregación que estás realizando.

Recuerda que las operaciones de agregación en MongoDB son poderosas y flexibles, lo que te permite realizar análisis avanzados y obtener información útil de tus datos. Ajusta las etapas de la tubería de agregación según tus necesidades específicas.