Introducción
¡Bienvenido a LabEx! Este es tu primer laboratorio de MongoDB. No te preocupes si nunca has usado una base de datos antes, te guiaremos en cada paso.
Primero, entendamos qué es MongoDB: MongoDB es un sistema de bases de datos que almacena datos en un formato de documento flexible. A diferencia de las hojas de cálculo tradicionales, MongoDB te permite organizar los datos de una manera más natural, similar a cómo podrías organizar archivos en carpetas en tu computadora.
En este laboratorio, aprenderás a:
- Iniciar el shell de MongoDB y entender qué es
- Crear tu primera base de datos y colección
- Añadir y ver datos en MongoDB
- Contar y eliminar datos
Estas habilidades formarán la base de tu viaje en MongoDB. ¡Empecemos!
Haz clic en el botón Continuar a continuación para comenzar el laboratorio.
Iniciar la Shell de MongoDB
Antes de iniciar MongoDB, primero debemos abrir una terminal en tu VM de LabEx. Tienes dos maneras de hacerlo:
Interfaz de Terminal: Recomendamos la interfaz de terminal por su velocidad y facilidad de uso. Esta es la interfaz predeterminada para los laboratorios relacionados con MongoDB.

Interfaz de Escritorio: Si prefieres una experiencia de terminal más tradicional, puedes usar la interfaz de escritorio. Mira el lado izquierdo de tu escritorio y haz clic en el icono etiquetado como Xfce Terminal.

Ambos métodos funcionan igual de bien, son solo diferentes formas de acceder al mismo entorno de laboratorio. ¡Elige el que prefieras!
Ahora, iniciemos el shell de MongoDB, que es como un panel de control para nuestra base de datos. Piensa en el shell como una forma de hablar directamente con MongoDB: tú escribes comandos y MongoDB responde.
Para iniciar el Shell de MongoDB, escribe el siguiente comando en tu terminal y presiona Enter:
mongosh
Verás un mensaje de conexión, que indica que te has conectado exitosamente a la instancia local de MongoDB. La salida se verá similar a esto:
Current Mongosh Log ID: 65a7f3e5f1a1234567890abc
Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+x.y.z
Using MongoDB: X.X.X
Using Mongosh: X.X.X
For mongosh info, see: https://docs.mongodb.com/mongodb-shell/
test>
El prompt test> indica que ahora estás dentro del shell mongosh y conectado a la base de datos predeterminada test.
Listemos todas las bases de datos existentes en el servidor. Escribe el siguiente comando en el shell mongosh:
show dbs
Verás una lista de bases de datos predeterminadas que MongoDB utiliza para propósitos internos:
admin 40.00 KiB
config 112.00 KiB
local 40.00 KiB
En el siguiente paso, crearás tu propia base de datos.
Crear una Base de Datos e Insertar un Documento
En MongoDB, no necesitas crear explícitamente una base de datos. Se crea automáticamente cuando almacenas datos en ella por primera vez. Para cambiar a una nueva base de datos, usa el comando use.
Cambiemos a una base de datos llamada mylab_database. En el shell mongosh, escribe:
use mylab_database
El shell responderá con switched to db mylab_database. Aunque la base de datos aún no se ha creado, ahora estás trabajando en su contexto.
Los datos en MongoDB se almacenan en colecciones (collections), que son grupos de documentos. Un documento es un conjunto de pares clave-valor. Creemos una colección users insertando nuestro primer documento.
Usa el método insertOne() para añadir un único documento a la colección users:
db.users.insertOne({ name: "JohnDoe", age: 30, city: "NewYork" })
Analicemos este comando:
db: Representa la base de datos actual (mylab_database).users: El nombre de la colección. Se creará automáticamente.insertOne(): El método para insertar un documento.{...}: El documento en sí, que contiene campos comoname,ageycity.
MongoDB confirmará la inserción y devolverá el _id único que generó para el documento:
{
acknowledged: true,
insertedId: ObjectId("...")
}
El ObjectId es un identificador único asignado automáticamente a cada documento.
Ahora, verifiquemos que el documento se añadió. Usa el método find() para ver todos los documentos en la colección users:
db.users.find()
La salida mostrará el documento que acabas de insertar:
[
{
_id: ObjectId("..."),
name: 'JohnDoe',
age: 30,
city: 'NewYork'
}
]
Insertar Múltiples Documentos
A menudo, necesitarás añadir múltiples documentos a la vez. El método insertMany() es perfecto para esto. Toma un array (arreglo) de documentos como argumento.
Creemos una nueva colección books y añadamos tres libros a ella con un solo comando.
db.books.insertMany([
{ title: "MongoDBBasics", author: "JaneSmith", year: 2023 },
{ title: "PythonProgramming", author: "JohnDoe", year: 2022 },
{ title: "DataScienceHandbook", author: "AliceJohnson", year: 2021 }
])
Observa los corchetes [ ], que definen un array. Cada objeto {...} dentro del array es un documento separado.
MongoDB confirmará la operación y devolverá los valores _id de todos los documentos insertados:
{
acknowledged: true,
insertedIds: {
'0': ObjectId("..."),
'1': ObjectId("..."),
'2': ObjectId("...")
}
}
Para ver todos los documentos en tu nueva colección books, usa el método find() de nuevo:
db.books.find()
La salida listará los tres documentos de libros que acabas de añadir.
Consultar y Contar Documentos
Ahora que tienes datos, aprendamos a recuperarlos y contarlos.
Para contar el número total de documentos en una colección, usa el método countDocuments(). Contemos los libros en nuestra colección books:
db.books.countDocuments()
El comando devolverá el recuento total:
3
Para encontrar documentos específicos, pasas un filtro de consulta (query filter) al método find(). Un filtro de consulta es un documento que especifica las condiciones para la búsqueda.
Por ejemplo, para encontrar todos los libros escritos por "JohnDoe", usa la siguiente consulta:
db.books.find({ author: "JohnDoe" })
El filtro { author: "JohnDoe" } le dice a MongoDB que devuelva solo los documentos donde el campo author tenga el valor "JohnDoe".
También puedes consultar basándote en valores numéricos. Busquemos todos los libros publicados en el año 2023:
db.books.find({ year: 2023 })
Esto devolverá el libro "MongoDBBasics". El método find() es una herramienta poderosa para recuperar exactamente los datos que necesitas.
Eliminar Documentos
Finalmente, aprendamos cómo eliminar documentos de una colección.
Para eliminar un solo documento que coincida con una condición específica, usa el método deleteOne(). Eliminemos el libro titulado "MongoDBBasics":
db.books.deleteOne({ title: "MongoDBBasics" })
La shell confirmará que se ha eliminado un documento:
{ acknowledged: true, deletedCount: 1 }
Para eliminar múltiples documentos que coincidan con una condición, usa deleteMany(). Este método soporta operadores de consulta (query operators) para crear condiciones más complejas. Por ejemplo, $lt significa "menor que" (less than).
Eliminemos todos los libros publicados antes del año 2022:
db.books.deleteMany({ year: { $lt: 2022 } })
Este comando elimina todos los documentos donde el campo year sea menor que 2022. En nuestro caso, eliminará el "DataScienceHandbook".
Para ver qué libros quedan, ejecuta el comando find() una última vez:
db.books.find()
Solo debería quedar el libro "PythonProgramming" en la colección.
Ahora has practicado las operaciones básicas de CRUD (Create, Read, Update, Delete) en MongoDB. Para salir de la shell mongosh, escribe:
exit
Resumen
¡Felicitaciones por completar tu primer laboratorio de MongoDB! Has aprendido y practicado con éxito las operaciones centrales para gestionar datos en una base de datos MongoDB.
En este laboratorio, has aprendido a:
- Iniciar la shell
mongoshpara interactuar con un servidor MongoDB. - Usar el comando
usepara cambiar a una base de datos. - Insertar documentos individuales y múltiples usando
insertOne()einsertMany(). - Recuperar documentos usando
find()con y sin filtros de consulta. - Contar documentos en una colección con
countDocuments(). - Eliminar documentos usando
deleteOne()ydeleteMany().
Estas habilidades fundamentales son los pilares para desarrollar aplicaciones potentes con MongoDB. La práctica es clave, así que siéntete libre de experimentar más con los comandos que has aprendido.

