Crear Colección en MongoDB

MongoDBBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá los pasos fundamentales para trabajar con MongoDB. Utilizará la Shell de MongoDB (mongosh) para crear una base de datos, añadir una colección, insertar documentos y realizar operaciones básicas de gestión de datos. Este enfoque práctico le proporcionará experiencia práctica en comandos centrales de MongoDB, estableciendo una base sólida para tareas de bases de datos más avanzadas.

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 principiante con una tasa de finalización del 87%. Ha recibido una tasa de reseñas positivas del 99% por parte de los estudiantes.

Iniciar la Shell de MongoDB y Crear una Base de Datos

Su primer paso es conectarse al servidor de MongoDB utilizando su shell interactivo, mongosh. Esta herramienta le permite ejecutar comandos directamente contra su instancia de base de datos.

En su terminal, inicie la Shell de MongoDB ejecutando el comando mongosh.

mongosh

Verá un mensaje de conexión, que indica que ahora se encuentra en el entorno mongosh.

Current Mongosh Log ID: 65a7f3e8f5a8a9b3c4d5e6f7
Connecting to:           mongodb://127.0.0.1:27017/
Using MongoDB:           8.0.2
Using Mongosh:           2.2.6
...
test>

El prompt test> indica que actualmente está conectado a la base de datos predeterminada test. Cambiemos a una nueva base de datos para nuestro proyecto. En MongoDB, puede cambiar a una base de datos que aún no exista. Se creará automáticamente cuando almacene datos en ella por primera vez.

Utilice el comando use para cambiar a una nueva base de datos llamada my_store.

use my_store

La shell confirmará el cambio.

switched to db my_store

Para confirmar qué base de datos está utilizando actualmente, puede escribir db.

db;

La salida mostrará el nombre de la base de datos actual.

my_store

Crear una Colección e Insertar un Documento

Ahora que está en la base de datos my_store, el siguiente paso es crear una colección. Una colección es un grupo de documentos de MongoDB, similar a una tabla en una base de datos relacional.

Creemos una colección llamada products. Puede hacerlo explícitamente con el método createCollection().

db.createCollection("products");

Una operación exitosa devolverá un objeto que indica el éxito.

{ ok: 1 }

Puede listar todas las colecciones en la base de datos actual para verificar que se creó products.

show collections
products

Con la colección creada, ahora puede insertar su primer documento. Un documento es un objeto BSON, que es una serialización codificada en binario de documentos similares a JSON.

Utilice el método insertOne() para añadir un único documento a la colección products.

db.products.insertOne({
  name: "Laptop",
  price: 1200,
  category: "Electronics"
});

MongoDB confirmará la inserción y proporcionará el _id único del nuevo documento.

{
  acknowledged: true,
  insertedId: ObjectId("...")
}

Este ObjectId se genera automáticamente para cada documento y sirve como su clave primaria.

Insertar Múltiples Documentos

A menudo, necesitará añadir varios documentos a una colección a la vez. MongoDB proporciona el método insertMany() para este propósito. Este método es más eficiente que llamar a insertOne() varias veces.

Añadamos dos productos más a nuestra colección products. El método insertMany() toma un array de objetos de documento como argumento.

db.products.insertMany([
  {
    name: "Keyboard",
    price: 75,
    category: "Electronics"
  },
  {
    name: "Desk Chair",
    price: 150,
    category: "Furniture"
  }
]);

La salida confirmará que la operación fue reconocida y listará los valores _id de cada uno de los documentos recién insertados.

{
  acknowledged: true,
  insertedIds: {
    '0': ObjectId("..."),
    '1': ObjectId("...")
  }
}

Ahora, comprobemos el número total de documentos en la colección products. Puede utilizar el método countDocuments() para esto.

db.products.countDocuments();

La shell debería devolver 3, reflejando el documento del paso anterior y los dos que acaba de añadir.

3

Consultar y Ver Documentos

Después de insertar datos, querrá recuperarlos y verlos. El método principal para consultar una colección es find().

Para ver todos los documentos en la colección products, ejecute el método find() sin ningún argumento.

db.products.find();

La shell mongosh formatea automáticamente la salida para facilitar la lectura, mostrando los tres documentos de su colección.

[
  {
    _id: ObjectId("..."),
    name: 'Laptop',
    price: 1200,
    category: 'Electronics'
  },
  {
    _id: ObjectId("..."),
    name: 'Keyboard',
    price: 75,
    category: 'Electronics'
  },
  {
    _id: ObjectId("..."),
    name: 'Desk Chair',
    price: 150,
    category: 'Furniture'
  }
]

El método find() también puede aceptar un documento de consulta para filtrar los resultados. Esto le permite encontrar documentos que coincidan con criterios específicos. Por ejemplo, busquemos todos los productos de la categoría "Electronics".

db.products.find({ category: "Electronics" });

Este comando devolverá solo los documentos donde el campo category tenga el valor "Electronics".

[
  {
    _id: ObjectId("..."),
    name: 'Laptop',
    price: 1200,
    category: 'Electronics'
  },
  {
    _id: ObjectId("..."),
    name: 'Keyboard',
    price: 75,
    category: 'Electronics'
  }
]

Esta sencilla capacidad de filtrado es una característica potente para recuperar datos específicos de sus colecciones.

Eliminar una Colección

En el último paso, aprenderá cómo eliminar una colección de una base de datos. Esta operación es irreversible y elimina la colección, todos sus documentos e índices. Es útil para limpiar datos temporales o eliminar colecciones obsoletas.

Para demostrar esto, primero creemos una colección temporal.

db.createCollection("temp_data");
{ ok: 1 }

Ahora, use el método drop() en la colección temp_data para eliminarla.

db.temp_data.drop();

El comando devolverá true si la colección se eliminó correctamente.

true

Para verificar que la colección ha sido eliminada, puede listar todas las colecciones de la base de datos nuevamente.

show collections

La salida ahora solo mostrará la colección products, confirmando que temp_data ha sido eliminada.

products

Esto concluye las operaciones básicas para administrar colecciones en MongoDB. Recuerde salir de la shell mongosh cuando haya terminado.

exit;

Resumen

En este laboratorio, ha aprendido las habilidades fundamentales para trabajar con MongoDB. Comenzó conectándose a una instancia de MongoDB utilizando la shell mongosh. Luego practicó la creación de una base de datos y una colección, la inserción de documentos individuales y múltiples, y la consulta de esos datos utilizando el método find(). Finalmente, aprendió a eliminar de forma segura una colección utilizando el comando drop(). Estas operaciones centrales —Crear, Leer y Eliminar— son los componentes básicos para cualquier aplicación que utilice MongoDB como su almacén de datos. Ahora está equipado con el conocimiento básico para administrar datos en un entorno MongoDB.