Docs Menu
Docs Home
/

Operaciones de agregación

Las operaciones de agregación procesan múltiples documentos y devuelven resultados calculados. Puede utilizar operaciones de agregación para:

  • Agrupa valores de varios documentos.

  • Realiza operaciones sobre los datos agrupados para devolver un único resultado.

  • Analiza los cambios en los datos con el tiempo.

Para realizar operaciones de agregación, puedes utilizar:

  • Pipelines de agregación, que son el método preferido para realizar agregaciones.

  • Métodos de agregación de propósito único, que son sencillos pero carecen de las capacidades de una pipeline de agregación.

Puedes ejecutar pipelines de agregación en la interfaz de usuario para implementaciones alojadas en MongoDB Atlas.

Una canalización de agregación consta de uno o más Etapas que procesan los documentos:

  • Cada etapa realiza una operación en los documentos de entrada. Por ejemplo, una etapa puede filtrar documentos, agruparlos y calcular valores.

  • Los documentos que salen de una etapa pasan a la siguiente etapa.

  • Una canalización de agregación puede devolver resultados para grupos de documentos. Por ejemplo, devolver los valores total, promedio, máximo y mínimo.

Puede actualizar documentos con un flujo de trabajo de agregación si utiliza las etapas que se muestran en Actualizaciones con flujo de trabajo de agregación.

Nota

El siguiente ejemplo de canalización de agregación contiene dos etapas y devuelve la cantidad total del pedido de pizzas de tamaño mediano agrupadas por nombre de pizza:

db.orders.aggregate( [
// Stage 1: Filter pizza order documents by pizza size
{
$match: { size: "medium" }
},
// Stage 2: Group remaining documents by pizza name and calculate total quantity
{
$group: { _id: "$name", totalQuantity: { $sum: "$quantity" } }
}
] )

La etapa $match:

  • Filtra los documentos de pedidos de pizza a pizzas con un size de medium.

  • Pasa los documentos restantes a la $group etapa.

La etapa $group:

  • Agrupa los documentos restantes por pizza name.

  • Utiliza para calcular el pedido $sum total quantity de cada name pizza. El total se almacena en el totalQuantity campo devuelto por la canalización de agregación.

Para ver ejemplos ejecutables que tengan documentos de entrada de muestra, consulta Ejemplos de pipelines de agregaciones completas.

Para obtener más información sobre pipelines de agregación, consulta Pipeline de agregación.

Los métodos de agregación de propósito único agregan documentos de una sola colección. Los métodos son simples, pero carecen de las capacidades de una pipeline de agregación.

Método
Descripción

Devuelve un conteo aproximado de los documentos en una colección o una vista.

Devuelve un conteo del número de documentos en una colección o una vista.

Devuelve un arreglo de documentos que tienen valores distintos para el campo especificado.

Volver

Datos monetarios

Obtén una insignia de habilidad

Domina los “Fundamentos de la transformación de datos” de forma gratuita.

Más información

En esta página