Tu Primer Laboratorio de MongoDB

MongoDBBeginner
Practicar Ahora

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:

  1. Iniciar el shell de MongoDB y entender qué es
  2. Crear tu primera base de datos y colección
  3. Añadir y ver datos en MongoDB
  4. 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.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel intermedio con una tasa de finalización del 69%. Ha recibido una tasa de reseñas positivas del 99% por parte de los estudiantes.

Iniciar la Shell de MongoDB

Antes de iniciar MongoDB, primero debemos abrir una terminal en tu VM de LabEx. Tienes dos maneras de hacerlo:

  1. 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.

    abrir la terminal en la interfaz de terminal
  2. 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.

    abrir la terminal en la interfaz de escritorio

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 como name, age y city.

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 mongosh para interactuar con un servidor MongoDB.
  • Usar el comando use para cambiar a una base de datos.
  • Insertar documentos individuales y múltiples usando insertOne() e insertMany().
  • Recuperar documentos usando find() con y sin filtros de consulta.
  • Contar documentos en una colección con countDocuments().
  • Eliminar documentos usando deleteOne() y deleteMany().

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.