MongoDB es una de las bases de datos NoSQL más utilizadas actualmente gracias a su flexibilidad, escalabilidad y capacidad para trabajar con documentos en formato BSON. Para administrar información de forma eficiente, es fundamental conocer los comandos que permiten crear bases de datos, gestionar colecciones, insertar documentos, ejecutar consultas, actualizar registros y eliminar información.
En esta guía aprenderás los comandos más útiles de MongoDB desde nivel básico hasta operaciones más utilizadas en entornos reales de desarrollo. Cada comando incluirá ejemplos prácticos para que puedas aplicarlos directamente en tus proyectos.
Ya sea que estés comenzando con MongoDB o quieras fortalecer tus conocimientos como desarrollador o administrador de bases de datos, este contenido te servirá como referencia rápida y guía de consulta.
Antes de iniciar
Realiza la instalación de MongoDB en siguiendo los siguientes pasos: Instalar MongoDB con Docker
Comandos de MongoDB desde la Terminal (Mongo Shell)
MongoDB puede administrarse desde la terminal utilizando principalmente dos herramientas:
mongosh: Shell moderna de MongoDB (recomendada).mongo: Shell antigua (obsoleta en versiones recientes).
Actualmente, la mayoría de ejemplos utilizan mongosh.
Conectarse a MongoDB desde la terminal
Accede al contenedor:
docker exec -it mongodb bash
Respuesta:
root@798aa9eb9000:/#
Dentro del contenedor ejecuta:
mongosh -u admin -p admin123
Si la autenticación es correcta ingresarás a la consola de MongoDB.
Conexión a MongoDB
Iniciar la consola MongoDB
mongosh
Conecta al servidor MongoDB local utilizando la configuración predeterminada.
Conectar a un servidor específico
mongosh mongodb://localhost:27017
Conecta al servidor indicado.
Conectar con usuario y contraseña
mongosh mongodb://admin:password@localhost:27017/admin
Permite autenticarse utilizando credenciales.
Comandos de Ayuda
Ayuda general
help
Muestra todos los comandos disponibles en la shell.
Ayuda sobre bases de datos
db.help()
Muestra funciones relacionadas con bases de datos.
Ayuda sobre colecciones
db.collection.help()
Muestra comandos disponibles para una colección.
Administración de Bases de Datos
Listar bases de datos
El siguiente comando muestra todas las bases de datos existentes en el servidor.
show dbs
Las bases de datos que muestra, son las que tienen al menos una colección y un documento.
Respuesta:
test> show dbs
admin 100.00 KiB
blog 48.00 KiB
config 104.00 KiB
local 72.00 KiB
Seleccionar o crear una base de datos
Si la base de datos existe se selecciona; si no existe se creará cuando se inserte el primer documento.
use blogdb
Respuesta
test> use blogdb
switched to db blogdb
Ver base de datos actual
Muestra el nombre de la base de datos actualmente seleccionada.
db
Respuesta
blogdb> db
blogdb
Eliminar base de datos
Elimina completamente la base de datos seleccionada.
db.dropDatabase()
Respuesta
{ ok: 1, dropped: 'blogdb' }
Administración de Colecciones
Listar colecciones
Muestra todas las colecciones de la base de datos actual.
show collections
Respuesta
usuarios
Crear colección
Crea una nueva colección.
db.createCollection("usuarios")
Respuesta
{ ok: 1 }
Eliminar colección
Elimina la colección y todos sus documentos.
db.usuarios.drop()
Respuesta
true
Insertar Documentos
Insertar un documento
Inserta un único documento.
db.usuarios.insertOne({
nombre: "Oscar",
edad: 30,
ciudad: "Bogotá"
})
Respuesta:
{
acknowledged: true,
insertedId: ObjectId('6a2f7094855bbaef519df8a3')
}
Insertar múltiples documentos
Inserta varios documentos en una sola operación.
db.usuarios.insertMany([
{
nombre: "Juan",
edad: 25
},
{
nombre: "Ana",
edad: 30
}
])
Respuesta
{
acknowledged: true,
insertedIds: {
'0': ObjectId('6a2f70bd855bbaef519df8a4'),
'1': ObjectId('6a2f70bd855bbaef519df8a5')
}
}
Consultar Documentos
Consultar todos los documentos
Obtiene todos los documentos de la colección.
db.usuarios.find()
Respuesta
[
{
_id: ObjectId('6a2f7094855bbaef519df8a3'),
nombre: 'Oscar',
edad: 30,
ciudad: 'Bogotá'
},
{ _id: ObjectId('6a2f70bd855bbaef519df8a4'), nombre: 'Juan', edad: 25 },
{ _id: ObjectId('6a2f70bd855bbaef519df8a5'), nombre: 'Ana', edad: 30 }
]
Consultar con formato legible
Muestra los documentos de forma más organizada.
db.usuarios.find().pretty()
Consultar un documento
Devuelve el primer documento encontrado.
db.usuarios.findOne()
Respuesta
blogdb> db.usuarios.findOne()
{
_id: ObjectId('6a2f7094855bbaef519df8a3'),
nombre: 'Oscar',
edad: 30,
ciudad: 'Bogotá'
}
Consultar usando filtros
Busca documentos que cumplan una condición.
db.usuarios.find({
nombre: "Oscar"
})
Operadores de Consulta
Mayor que
db.usuarios.find({
edad: {
$gt: 18
}
})
Mayor o igual que
db.usuarios.find({
edad: {
$gte: 18
}
})
Menor que
db.usuarios.find({
edad: {
$lt: 30
}
})
Buscar varios valores
db.usuarios.find({
ciudad: {
$in: ["Bogotá", "Medellín"]
}
})
Actualizar Documentos
Actualizar un documento
db.usuarios.updateOne(
{ nombre: "Oscar" },
{
$set: {
edad: 36
}
}
)
Actualizar múltiples documentos
db.usuarios.updateMany(
{},
{
$set: {
activo: true
}
}
)
Reemplazar documento completo
db.usuarios.replaceOne(
{ nombre: "Oscar" },
{
nombre: "Oscar",
edad: 36
}
)
Eliminar Documentos
Eliminar un documento
db.usuarios.deleteOne({
nombre: "Oscar"
})
Respuesta:
{ acknowledged: true, deletedCount: 1 }
Eliminar varios documentos
db.usuarios.deleteMany({
activo: false
})
Conteo de Documentos
Contar documentos
db.usuarios.countDocuments()
Contar documentos filtrados
db.usuarios.countDocuments({
ciudad: "Bogotá"
})
Ordenamiento y Paginación
Ordenar resultados
db.usuarios.find().sort({
edad: -1
})
-1 descendente. 1 ascendente.
Limitar resultados
db.usuarios.find().limit(10)
Saltar registros
db.usuarios.find().skip(20)
Paginación
db.usuarios
.find()
.sort({ edad: -1 })
.skip(20)
.limit(10)
Índices
Crear índice
db.usuarios.createIndex({
nombre: 1
})
Listar índices
db.usuarios.getIndexes()
Eliminar índice
db.usuarios.dropIndex("nombre_1")
Usuarios y Seguridad
Listar usuarios
show users
Crear usuario
db.createUser({
user: "admin",
pwd: "Password123",
roles: [
{
role: "readWrite",
db: "blogdb"
}
]
})
Eliminar usuario
db.dropUser("admin")
Información del Servidor
Ver versión de MongoDB
db.version()
Estado del servidor
db.serverStatus()
Estadísticas de la base de datos
db.stats()
Estadísticas de una colección
db.usuarios.stats()
Los 20 Comandos Más Utilizados en el Día a Día
show dbs
use nombre_bd
show collections
db
db.collection.find()
db.collection.findOne()
db.collection.insertOne()
db.collection.insertMany()
db.collection.updateOne()
db.collection.updateMany()
db.collection.deleteOne()
db.collection.deleteMany()
db.collection.countDocuments()
db.collection.createIndex()
db.collection.getIndexes()
db.stats()
db.version()
db.serverStatus()
db.dropDatabase()
db.collection.drop()
Si estás empezando con MongoDB, estos son los comandos que debes dominar primero. Una vez los conozcas, el siguiente paso es aprender operadores de consulta, índices, agregaciones (Aggregation Pipeline) y modelado de documentos.