La canalización de agregación en MongoDB es un marco potente y flexible para la transformación y combinación de datos. Proporciona una serie de operaciones que procesan documentos y devuelven resultados agregados. Algunas de estas operaciones proporcionan funcionalidades similares a las consultas de SQL GROUP BY.
Una canalización de agregación consta de varias etapas. Cada etapa transforma los documentos que pasan a través de ella. Por ejemplo, se pueden filtrar los documentos para que solo pasen algunos, o pueden transformarse en un nuevo formato, o incluso se pueden generar campos calculados adicionales.
Las etapas de la canalización pueden ser:
1. $match: Filtra los documentos. Solo los documentos que coinciden con las condiciones pasan a la siguiente etapa.
2. $group: Agrupa los documentos por algún campo especificado.
3. $sort: Ordena los documentos.
4. $lookup: Realiza una pseudo “unión” de colecciones.
5. $project: Selecciona algunos campos para pasar a la siguiente etapa.
6. $unwind: Descompone un campo de array en múltiples documentos.
Estas operaciones se pueden encadenar, lo que significa que la salida de una etapa se pasa a la siguiente.