Actualización y Reemplazo de Documentos en MongoDB
Clase 11 de 17 • Curso de Base de Datos NoSQL
Contenido del curso
- 3

Creación y Gestión de Bases de Datos NoSQL con MongoDB
04:59 - 4

Conexión y gestión básica de MongoDB con Compass y Atlas
06:26 - 5

Inserción de Documentos en MongoDB: Insert One y Insert Many
10:52 - 6

Eliminación de Documentos en MongoDB: Comandos y Prácticas Seguras
09:16 - 7

Consultas Avanzadas en MongoDB: Uso de Compass y la Terminal
07:55 - 8

Consultas Avanzadas con el Aggregation Framework de MongoDB
04:34 - 9

Uso de Lookup en MongoDB para Relaciones entre Colecciones
09:40 - 10

Reemplazo y Modificación de Documentos en MongoDB
05:46 - 11

Actualización y Reemplazo de Documentos en MongoDB
07:36
- 12

Estructuras de Datos en Grafos para Redes Sociales
07:28 - 13

Creación y Gestión de Bases de Datos de Grafos con Neo4j y Cypher
08:26 - 14

Bases de Datos Documentales: Flexibilidad y Ejemplos Prácticos
03:04 - 15

Bases de Datos Clave-Valor: Simplicidad y Alto Rendimiento
10:24 - 16

Bases de Datos Vectoriales: Conceptos y Aplicaciones Prácticas
03:18
Modificar o actualizar documentos en MongoDB es esencial para manejar datos dinámicos. Aunque existen varios métodos para realizar estas acciones, los más comunes son update y replace. Cada uno se utiliza en diferentes escenarios y es crucial entender sus diferencias y aplicaciones.
¿Cómo se utiliza update en MongoDB?
¿Qué es update?
El método update permite modificar ciertos valores de un documento que cumplen con un filtro específico. Existen variantes como updateOne y updateMany.
¿Cómo usar updateOne?
Para actualizar un solo documento en MongoDB, se utiliza updateOne. Este método requiere un filtro para identificar el documento y el operador $set para especificar los cambios. Por ejemplo, para cambiar el nombre de un cliente:
db.customers.updateOne(
{ _id: ObjectId("5f3e5a3a29f1e8b7c2c69d62") },
{ $set: { name: "Elizabeth" } }
);
Este comando busca el documento con el _id especificado y actualiza el campo name.
¿Cómo usar updateMany?
Para actualizar múltiples documentos que cumplen con un criterio, se usa updateMany. Este método también requiere un filtro y los cambios a realizar:
db.customers.updateMany(
{ birthYear: { $gte: 1990 } },
{ $set: { membership: "Platinum" } }
);
En este ejemplo, todos los documentos donde birthYear es mayor o igual a 1990 se actualizarán para incluir el campo membership con el valor Platinum.
¿Qué es replace en MongoDB?
¿Cómo funciona replaceOne?
El método replaceOne reemplaza un documento completo excepto su identificador. Esto es útil cuando se necesita reestructurar un documento:
db.customers.replaceOne(
{ _id: ObjectId("5f3e5a3a29f1e8b7c2c69d62") },
{ name: "John Doe", age: 30, city: "New York" }
);
Este comando reemplaza el documento identificado por _id con uno nuevo que tiene los campos name, age y city.
¿Qué otras alternativas existen a update y replace?
Además de update y replace, MongoDB ofrece otros métodos para la manipulación de datos, como bulkWrite, que permite realizar múltiples operaciones en una sola llamada, y findAndModify, que devuelve y modifica documentos en un solo paso.
Ejercicio Práctico
Para seguir practicando, intenta el siguiente reto: en la base de datos de Airbnb, actualiza todos los apartamentos con menos de tres habitaciones restando 10 al precio. Esto te ayudará a aplicar los conceptos aprendidos.
db.airbnb.updateMany(
{ bedrooms: { $lt: 3 } },
{ $inc: { price: -10 } }
);