Hoja de referencia de comandos comunes de MongoDB
MongoDB es un sistema de base de datos de código abierto basado en almacenamiento de archivos distribuidos y es una de las bases de datos NoSQL más populares hoy en día. Esta hoja de referencia se centra en las operaciones comunes en la CLI de mongosh.
Conexión y Gestión
| Comando | Descripción |
|---|---|
mongosh |
Conectar a MongoDB en el puerto local |
use <db_name> |
Cambiar o crear base de datos |
db |
Ver base de datos actual |
show dbs |
Listar todas las bases de datos |
show collections |
Listar todas las colecciones |
exit |
Salir de la Shell |
Operaciones de Colección (DDL)
| Comando | Descripción |
|---|---|
db.createCollection("users") |
Crear colección manualmente |
db.users.drop() |
Eliminar colección especificada |
db.users.stats() |
Ver estadísticas de colección |
db.users.renameCollection("people") |
Cambiar nombre de colección |
Operaciones de Documentos (CRUD)
Insert
// Insertar documentos
db.users.insertOne({ name: "Alice", age: 25 });
db.users.insertMany([{ name: "Bob" }, { name: "Charlie" }]);Read
// Consultar documentos
db.users.find().pretty();
db.users.find({ age: { $gt: 20 } }).sort({ age: 1 }).limit(10);
db.users.findOne({ name: "Alice" });
Update
// Actualizar documentos
db.users.updateOne({ name: "Alice" }, { $set: { age: 26 } });
db.users.updateMany({ age: { $lt: 18 } }, { $set: { status: "minor" } });Delete
// Eliminar documentos
db.users.deleteOne({ _id: ObjectId("...") });
db.users.deleteMany({ status: "inactive" });Operadores Comunes
| Type | Operator | Descripción |
|---|---|---|
| Comparación | $gt, $gte, $lt, $lte, $ne |
Mayor que, Mayor o igual que, Menor que, Menor o igual que, No es igual |
| Lógica | $and, $or, $not, $nor |
Y (And), O (Or), No (Not), Ni (Nor) |
| Campo | $set, $unset, $inc, $rename |
Establecer valor, Eliminar campo, Actualización incremental, Renombrar campo |
| Array | $push, $pop, $pull, $addToSet |
Añadir, Extraer, Eliminar coincidencias, Añadir único |
Pipeline de Agregación
db.orders.aggregate([
{ $match: { status: "A" } },
{ $group: { _id: "$cust_id", total: { $sum: "$amount" } } },
{ $sort: { total: -1 } }
]);Gestión de Índices
| Comando | Descripción |
|---|---|
db.users.createIndex({ name: 1 }) |
Crear índice ascendente |
db.users.createIndex({ email: 1 }, { unique: true }) |
Crear índice único |
db.users.getIndexes() |
Ver todos los índices |
db.users.dropIndex("name_1") |
Eliminar índice |