Las cuatro operaciones fundamentales de cualquier base de datos son Create, Read, Update y Delete — conocidas como CRUD. En MongoDB estas operaciones se ejecutan desde mongosh (MongoDB Shell) llamando a métodos sobre objetos de colección (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/tutosrive/db-nosql-2026-1/llms.txt
Use this file to discover all available pages before exploring further.
db.<colección>.<método>()). Los ejemplos de esta página utilizan los esquemas reales del curso: la colección usuarios con campos como user_id, nombre, alias, correo, programa, semestre, plan y puntos_acumulados.
Insertar (Create)
insertOne()
Inserta un único documento en la colección. Devuelve un objeto con acknowledged: true y el insertedId generado.
insertMany()
Inserta un arreglo de documentos en una sola operación. Es significativamente más eficiente que múltiples llamadas a insertOne().
Por defecto,
insertMany() opera en modo ordenado: si un documento falla (por ejemplo, por _id duplicado), se detiene y no inserta los documentos restantes. Puedes desactivar este comportamiento con { ordered: false } como segundo argumento.Consultar (Read)
find() y findOne()
find() retorna un cursor con todos los documentos que coinciden con el filtro. findOne() retorna únicamente el primer documento que coincida.
Operadores de comparación frecuentes
| Operador | Significado | Ejemplo |
|---|---|---|
$eq | Igual a | { semestre: { $eq: 5 } } |
$ne | Distinto de | { plan: { $ne: "free" } } |
$gt | Mayor que | { semestre: { $gt: 5 } } |
$gte | Mayor o igual | { semestre: { $gte: 5 } } |
$lt | Menor que | { semestre: { $lt: 3 } } |
$lte | Menor o igual | { semestre: { $lte: 2 } } |
$in | Dentro de un arreglo | { plan: { $in: ["free","premium"] } } |
Ordenar y limitar resultados
Proyecciones
Una proyección le indica a MongoDB qué campos incluir o excluir en el resultado. Se pasa como segundo argumento afind() o findOne().
No se pueden mezclar inclusiones (
1) y exclusiones (0) en la misma proyección, con la excepción del campo _id. Si incluyes al menos un campo con 1, todos los demás se excluyen automáticamente.Actualizar (Update)
updateOne()
Actualiza el primer documento que coincida con el filtro. Siempre se recomienda acompañarlo de un operador de actualización como $set.
updateMany()
Actualiza todos los documentos que coincidan con el filtro.
Operadores de actualización comunes
| Operador | Descripción |
|---|---|
$set | Asigna o crea un campo con el valor indicado |
$unset | Elimina un campo del documento |
$inc | Incrementa un campo numérico |
$push | Agrega un elemento al final de un arreglo |
$pull | Elimina elementos de un arreglo que coincidan con una condición |
$rename | Renombra un campo |
Ejemplo de clase: agregar un subdocumento con $set
Estos ejemplos provienen directamente de las notas de clase y los comandos usados en mongosh:
Eliminar (Delete)
deleteOne()
Elimina el primer documento que coincida con el filtro.
deleteMany()
Elimina todos los documentos que coincidan con el filtro.
deleteMany({}) borra todos los documentos pero conserva la colección y sus índices. Para eliminar colección e índices completamente, usa db.usuarios.drop().Contar Documentos
| Método | Velocidad | Precisión | Uso recomendado |
|---|---|---|---|
countDocuments({}) | Media | Exacta | Conteos con filtro o cuando se necesita precisión |
estimatedDocumentCount() | Alta | Aproximada | Colecciones muy grandes, métricas rápidas |