Contenido del curso
Manipulación de Datos en MongoDB
- 3

Creación y Gestión de Bases de Datos NoSQL con MongoDB
10:49 min - 4

Conexión y gestión básica de MongoDB con Compass y Atlas
09:15 min - 5

Inserción de Documentos en MongoDB: Insert One y Insert Many
10:52 min - 6

Eliminación de Documentos en MongoDB: Comandos y Prácticas Seguras
09:16 min - 7

Consultas Avanzadas en MongoDB: Uso de Compass y la Terminal
07:55 min - 8

Consultas Avanzadas con el Aggregation Framework de MongoDB
Viendo ahora - 9

Uso de Lookup en MongoDB para Relaciones entre Colecciones
05:46 min - 10

Reemplazo y Modificación de Documentos en MongoDB
05:46 min - 11

Actualización y Reemplazo de Documentos en MongoDB
07:36 min
Tipos de Bases de Datos NoSQL
- 12

Estructuras de Datos en Grafos para Redes Sociales
07:28 min - 13

Creación y Gestión de Bases de Datos de Grafos con Neo4j y Cypher
08:26 min - 14

Bases de Datos Documentales: Flexibilidad y Ejemplos Prácticos
03:04 min - 15

Bases de Datos Clave-Valor: Simplicidad y Alto Rendimiento
10:24 min - 16

Bases de Datos Vectoriales: Conceptos y Aplicaciones Prácticas
03:18 min
Pasos Futuros
Consultas Avanzadas con el Aggregation Framework de MongoDB
Resumen
Cuando necesitas ir más allá de consultas simples en MongoDB, el Aggregation Framework se convierte en tu mejor aliado. Este mecanismo permite encadenar múltiples operaciones sobre los datos, transformándolos etapa por etapa hasta obtener resultados complejos y precisos. A continuación se explica cómo funciona, qué etapas usar y en qué orden aplicarlas para sacar el máximo provecho.
¿Qué son los pipelines de agregación en MongoDB?
El Aggregation Framework trabaja con el concepto de pipelines [00:18]. Imagina una tubería con llaves que abren y cierran el paso del agua: cada llave representa una etapa (stage) del pipeline. Los datos fluyen de una etapa a la siguiente, y la salida de una etapa se convierte en la entrada de la siguiente. Esto permite filtrar, agrupar, transformar y ordenar documentos de forma secuencial.
Para comenzar a trabajar con pipelines en Compass, basta con abrir una nueva pestaña y seleccionar la vista de Aggregations [01:00]. Allí aparece un resumen de documentos de ejemplo y un área de trabajo donde se van añadiendo etapas.
¿Por qué la primera etapa debe ser match?
Siempre se recomienda que la primera etapa sea $match [01:22]. Esta etapa filtra documentos exactamente igual que el método find. La razón es simple: si reduces la cantidad de documentos desde el inicio, todas las operaciones posteriores procesan menos datos y el rendimiento mejora considerablemente.
- Las herramientas NoSQL están diseñadas para ofrecer mejor performance en distintos casos de uso [01:42].
- Al pegar una consulta en $match, los resultados aparecen automáticamente en el panel derecho [02:06].
- Cada cambio que realices se refleja de inmediato sin necesidad de ejecutar manualmente.
¿Cómo se añaden etapas adicionales al pipeline?
Una vez definido el filtro inicial, puedes agregar más etapas. Todos los operadores disponibles llevan el prefijo del signo $ [02:34]. Por ejemplo, con $project seleccionas únicamente los campos que te interesan, como title o release [02:40]. Las etapas se pueden reordenar arrastrándolas, lo que resulta muy útil porque siempre debes recordar que el orden importa: la salida alimenta la siguiente entrada [03:06].
¿Cómo funciona la etapa group para agrupar datos?
La etapa $group funciona de manera similar al GROUP BY de SQL [03:17]. Permite agrupar documentos por un campo específico y aplicar operaciones sobre cada grupo.
- Para agrupar por año se utiliza la sintaxis
"$year", donde el signo $ convierte el nombre del campo en una variable que referencia la salida de la etapa anterior [03:30]. - El operador $avg es un acumulador que calcula promedios [04:08]. En el ejemplo, se usa sobre el campo
"$runtime"para obtener la duración promedio de películas por año [04:22]. - El resultado muestra el identificador del año y el promedio de duración, pero solo de los documentos que pasaron el filtro de $match [04:40].
¿Cómo ordenar resultados y exportar el pipeline?
Después de agrupar, puedes añadir $sort para ordenar los resultados [05:12]. Un detalle importante: el campo average no existía en el documento original, es un campo calculado creado durante la agregación [05:20]. Al asignarle el valor -1, los resultados se ordenan de mayor a menor duración promedio.
- Compass permite exportar el pipeline a distintos lenguajes de programación, adaptando la sintaxis automáticamente [05:38].
- La vista text unifica todas las etapas en un solo bloque editable, facilitando la modificación rápida [05:52].
- En la parte superior se muestra el flujo completo: $match → $group → $sort [06:06].
- También se puede generar consultas con ayuda de inteligencia artificial integrada en la herramienta [06:16].
Un aspecto interesante es la posibilidad de hacer $lookup, que es el equivalente a un JOIN en SQL [06:30]. Aunque las referencias entre colecciones en bases de datos de documentos no son tan estrictas como en bases relacionales, sí existen. En la base de datos de ejemplo, la colección Comments contiene un identificador de película que permite vincular comentarios con sus películas correspondientes [06:46].
¿Ya intentaste crear tu propio pipeline con $lookup para unir películas y comentarios? Comparte tu experiencia y cómo resolviste el reto.