🍃 Curso práctico: Domina MongoDB paso a paso
📌 Módulo 1: ¿Qué es MongoDB?
Objetivo: Comprender qué es MongoDB y cómo se diferencia de las bases de datos relacionales.
- MongoDB es una base de datos NoSQL orientada a documentos.
- Almacena datos en formato JSON (BSON internamente).
- Ideal para aplicaciones modernas, escalables y flexibles.
Instalación: Descargá desde mongodb.com o usá npm install -g mongodb
para entornos Node.js.
📁 Módulo 2: Crear base de datos y colecciones
Objetivo: Iniciar una base de datos y definir colecciones.
use tienda
db.createCollection("productos")
Las colecciones son equivalentes a las tablas en SQL.
📝 Módulo 3: Insertar documentos
Objetivo: Agregar registros a una colección.
db.productos.insertOne({
nombre: "Laptop",
precio: 1200,
stock: 10
})
db.productos.insertMany([
{ nombre: "Mouse", precio: 25, stock: 50 },
{ nombre: "Teclado", precio: 45, stock: 30 }
])
🔍 Módulo 4: Consultar documentos
Objetivo: Buscar y filtrar datos.
db.productos.find()
db.productos.find({ stock: { $gt: 20 } })
db.productos.findOne({ nombre: "Laptop" })
Usá operadores como $gt
, $lt
, $in
, $regex
.
✏️ Módulo 5: Actualizar y eliminar
Objetivo: Modificar y borrar documentos.
db.productos.updateOne(
{ nombre: "Mouse" },
{ $set: { precio: 30 } }
)
db.productos.deleteOne({ nombre: "Teclado" })
📊 Módulo 6: Agregaciones y estadísticas
Objetivo: Realizar análisis de datos con aggregate()
.
db.productos.aggregate([
{ $group: { _id: null, promedioPrecio: { $avg: "$precio" } } }
])
También podés usar $match
, $sort
, $project
, $lookup
.
🔐 Módulo 7: Validación y seguridad
Objetivo: Proteger y validar datos.
- Usá
schema validation
para definir reglas. - Configura usuarios y roles con
db.createUser()
. - Evitá inyecciones usando drivers oficiales y buenas prácticas.
🧪 Módulo final: Proyecto práctico
Objetivo: Aplicar lo aprendido en una app real.
- Crear una base de datos para una tienda online
- Definir colecciones: productos, usuarios, pedidos
- Insertar datos y realizar consultas con filtros
- Usar agregaciones para reportes de ventas
- Integrar con backend en Node.js usando
mongoose