Consultas Avanzadas con el Aggregation Framework de MongoDB
Clase 8 de 17 • Curso de Base de Datos NoSQL
Resumen
MongoDB ofrece un framework de agregación poderoso y flexible, conocido como aggregation framework, que permite realizar consultas complejas mediante la combinación de diferentes etapas en pipelines.
¿Qué es el aggregation framework?
El aggregation framework de MongoDB permite realizar operaciones avanzadas en los datos utilizando una serie de etapas en una tubería, conocida como pipeline. Cada etapa procesa los datos y los pasa a la siguiente, similar a cómo el agua fluye a través de una tubería con válvulas que se abren y cierran.
¿Cómo se configura una etapa de agregación?
-
Iniciar Aggregation en MongoDB Compass:
- Abre MongoDB Compass y selecciona “Aggregations”.
- Verás un resumen de documentos sin ninguna consulta aplicada.
-
Agregar una etapa Match:
- Selecciona “Match” como la primera etapa para filtrar documentos, similar a la operación
find
. - La eficiencia mejora al filtrar grandes cantidades de documentos primero.
- Selecciona “Match” como la primera etapa para filtrar documentos, similar a la operación
-
Ejecutar una consulta Match:
- Copia una query existente y pégala en la etapa de match.
- Los resultados se mostrarán automáticamente a la derecha.
¿Cómo se utilizan otras etapas en el pipeline?
-
Agregar una etapa Project:
- Selecciona “Project” para mostrar solo ciertos campos como
title
yrelease
. - La salida de esta etapa se convierte en la entrada de la siguiente.
- Selecciona “Project” para mostrar solo ciertos campos como
-
Insertar una etapa Group:
- Selecciona “Group” para agrupar documentos, similar a
Group By
en SQL. - Por ejemplo, agrupa por año y calcula el promedio de la duración de las películas (
runtime
).
- Selecciona “Group” para agrupar documentos, similar a
-
Ordenar los resultados:
- Añade una etapa “Sort” para ordenar los resultados por el campo calculado, como el promedio de duración (
average
).
- Añade una etapa “Sort” para ordenar los resultados por el campo calculado, como el promedio de duración (
¿Cómo se manejan las etapas en el pipeline?
- Las etapas se pueden reordenar y modificar según sea necesario.
- Cada cambio en una etapa afecta la entrada de las siguientes etapas.
- Es posible eliminar y añadir nuevas etapas para ajustar el flujo de datos.
¿Cómo exportar y editar el pipeline?
- MongoDB Compass permite exportar el pipeline a diferentes lenguajes de programación.
- Puedes editar el pipeline como texto para modificarlo de manera más sencilla.
¿Qué retos existen al usar el aggregation framework?
- Explorar las diferentes etapas disponibles en el aggregation framework.
- Realizar operaciones como Joins para combinar colecciones, por ejemplo, unir comentarios a películas utilizando el identificador de película en la colección
Comments
.