Ruta de Agregación de MongoDB — Plan de 7 días

Ruta de Agregación de MongoDB — Plan de 7 días diseñado por Q2BSTUDIO, empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad y servicios cloud aws y azure. En este plan aprenderás a analizar, transformar y relacionar colecciones para extraer insights valiosos, con ejemplos prácticos, ejercicios y mini proyectos. También integramos buenas prácticas para proyectos de inteligencia de negocio, ia para empresas y agentes IA, ideales para complementar soluciones con power bi.
Día 1 – $match y $project Ejemplos: db.users.aggregate([ { $match: { country: Bangladesh } } ]); db.users.aggregate([ { $project: { _id: 0, fullName: { $concat: [ $firstName, ' ', $lastName ] }, email: 1 } } ]); db.users.aggregate([ { $match: { age: { $lt: 25 } } } ]); Preguntas de práctica: Encontrar todos los usuarios de USA. Mostrar solo firstName y age de todos los usuarios. Encontrar productos con precio menor a 100. Mostrar solo name y category para esos productos.
Día 2 – $sort, $limit, $skip Ejemplos: db.products.aggregate([ { $sort: { price: -1 } } ]); db.users.aggregate([ { $sort: { age: 1 } }, { $limit: 2 } ]); db.orders.aggregate([ { $skip: 1 }, { $limit: 2 } ]); Práctica: Obtener los 2 productos más caros. Obtener el usuario más viejo. Ordenar órdenes por createdAt descendente. Mostrar el 2o y 3er producto más caro.
Día 3 – $group Ejemplos: db.orders.aggregate([ { $group: { _id: $status, total: { $sum: 1 } } } ]); db.products.aggregate([ { $group: { _id: $category, avgPrice: { $avg: $price } } } ]); db.orders.aggregate([ { $group: { _id: null, totalRevenue: { $sum: $amount } } } ]); Práctica: Contar usuarios por país. Encontrar precio min y max por producto. Contar cuántas reviews tiene cada producto. Calcular edad promedio de todos los usuarios.
Día 4 – $addFields y $unwind Ejemplos: db.users.aggregate([ { $addFields: { fullName: { $concat: [ $firstName, ' ', $lastName ] } } } ]); db.products.aggregate([ { $unwind: $tags } ]); db.products.aggregate([ { $project: { name: 1, tagCount: { $size: $tags } } } ]); Práctica: Añadir campo isAdult true si age >= 18. Unwind orders por productId. Contar cuántas tags contienen la palabra tech. Añadir campo priceWithTax = price * 1.15.
Día 5 – $lookup Ejemplos: db.users.aggregate([ { $lookup: { from: orders, localField: _id, foreignField: userId, as: userOrders } } ]); db.products.aggregate([ { $lookup: { from: reviews, localField: _id, foreignField: productId, as: productReviews } } ]); db.orders.aggregate([ { $lookup: { from: users, localField: userId, foreignField: _id, as: user } }, { $lookup: { from: products, localField: productId, foreignField: _id, as: product } } ]); Práctica: Unir orders con products para mostrar detalles de producto. Unir reviews con users para mostrar info del revisor. Unir users, orders y products de forma anidada. Encontrar usuarios con al menos 1 orden shipped.
Día 6 – $lookup con pipeline Ejemplos: db.users.aggregate([ { $lookup: { from: orders, let: { uid: _id }, pipeline: [ { $match: { $expr: { $and: [ { $eq: [ $userId, $$uid ] }, { $eq: [ $status, shipped ] } ] } } } ], as: shippedOrders } } ]); db.users.aggregate([ { $lookup: { from: orders, let: { uid: _id }, pipeline: [ { $match: { $expr: { $eq: [ $userId, $$uid ] } } }, { $sort: { createdAt: -1 } }, { $limit: 1 } ], as: latestOrder } } ]); Práctica: Obtener solo reviews con rating >= 4 por producto. Para cada usuario, obtener solo órdenes pending. Para cada producto, obtener la última review. Para cada usuario, obtener órdenes de los últimos 7 días.
Día 7 – Proyectos reales Mini proyecto 1 E-commerce Dashboard: consultas para Total revenue, Top 2 categorías por ventas, Average order value, Número de órdenes shipped vs pending. Mini proyecto 2 User Analytics: usuarios activos por país, usuarios con más de 1 orden, usuarios con average order amount > 100. Mini proyecto 3 Product Insights: productos con mayor rating promedio, Top 2 productos más reseñados, productos con tags tech y home.
Consejos para el éxito: Practica diariamente escribiendo 2 o 3 consultas de agregación. Empieza simple con $match y $project y añade complejidad por etapas. Usa herramientas visuales como MongoDB Compass para entender mejor las etapas. Prueba con datos de ejemplo y lee la documentación oficial para profundizar. Depura agregando una etapa a la vez para ver resultados intermedios. Si necesitas integrar estos pipelines en soluciones de inteligencia de negocio o potenciar tus dashboards con power bi, en Q2BSTUDIO ofrecemos consultoría y desarrollo para conectar tus datos y crear visualizaciones avanzadas con power bi y servicios de inteligencia de negocio. Para proyectos que combinen modelos de datos y modelos predictivos, puedes conocer nuestras soluciones de inteligencia artificial e ia para empresas.
Referencia rápida de operadores comunes: $match filtra documentos, $project selecciona y transforma campos, $group agrupa por campos y calcula agregados, $sort ordena, $limit limita resultados, $skip salta documentos, $lookup une colecciones, $unwind descompone arrays, $addFields añade campos calculados. Palabras clave integradas para SEO: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. En Q2BSTUDIO diseñamos soluciones a medida que integran agregaciones MongoDB con arquitectura cloud, seguridad y analítica avanzada para acelerar tu negocio.
Datos de ejemplo para practicar: users: { _id: 1, firstName: Rayan, lastName: Hossain, age: 25, country: Bangladesh, email: rayan@example.com }, { _id: 2, firstName: Ayesha, lastName: Rahman, age: 19, country: Bangladesh, email: ayesha@example.com }, { _id: 3, firstName: John, lastName: Smith, age: 30, country: USA, email: john@example.com }, { _id: 4, firstName: Sara, lastName: Lee, age: 22, country: UK, email: sara@example.com } products: { _id: 101, name: Smartphone, category: Electronics, price: 500, tags: [ tech, mobile ] }, { _id: 102, name: Laptop, category: Electronics, price: 1200, tags: [ tech, computer ] }, { _id: 103, name: Sofa, category: Furniture, price: 700, tags: [ home, decor ] }, { _id: 104, name: Coffee Maker, category: Appliances, price: 150, tags: [ home, kitchen ] }, { _id: 105, name: Headphones, category: Electronics, price: 200, tags: [ tech, audio ] } orders: { _id: 201, userId: 1, productId: 101, amount: 800, status: shipped, createdAt: 2025-08-01T00:00:00Z }, { _id: 202, userId: 1, productId: 102, amount: 150, status: pending, createdAt: 2025-08-05T00:00:00Z }, { _id: 203, userId: 2, productId: 103, amount: 40, status: shipped, createdAt: 2025-08-02T00:00:00Z }, { _id: 204, userId: 3, productId: 104, amount: 20, status: shipped, createdAt: 2025-08-03T00:00:00Z } Cómo importar datos: usa mongoimport o MongoDB Compass para importar colecciones a tu base de datos de prueba. Si buscas desarrollo a medida para integrar pipelines de datos con seguridad y despliegue en la nube, Q2BSTUDIO crea aplicaciones a medida y servicios cloud integrados con AWS y Azure que aceleran la entrega de proyectos y garantizan prácticas de ciberseguridad robustas.
Feliz aprendizaje y si necesitas apoyo profesional en desarrollo de software a medida, análisis de datos, ciberseguridad o despliegue cloud contacta con Q2BSTUDIO para transformar tus datos en valor.
Comentarios