Reemplazo y Modificación de Documentos en MongoDB
Clase 10 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
La operación de reemplazo en MongoDB permite sustituir el contenido completo de un documento. Esto es útil cuando se necesita modificar todo el documento en lugar de solo algunos campos. Aunque existen varias funciones para actualizar documentos, cada una tiene su propósito específico y utiliza los recursos del clúster de manera distinta.
¿Cómo se realiza la operación de reemplazo en MongoDB?
- Utiliza
replaceOnepara reemplazar un documento completo. - El primer argumento es el filtro, usualmente el
ObjectId. - El segundo argumento es el nuevo documento que reemplazará al existente.
Ejemplo:
db.customers.replaceOne(
{ _id: ObjectId("identificador_del_documento") },
{ username: "elitry" }
);
Este ejemplo elimina todos los campos excepto username y lo reemplaza con el valor especificado.
¿Qué hacer si no se encuentra un documento?
- Utiliza la opción
upsert: true. - Si el filtro no encuentra un documento, se crea uno nuevo con los valores proporcionados.
Ejemplo:
db.customers.replaceOne(
{ username: "xyz" },
{ username: "xyz", name: "Andrés", email: "test@gmail.com" },
{ upsert: true }
);
Este comando crea un nuevo documento si no encuentra uno existente con el username especificado.
¿Cómo usar Find and Modify para reemplazar documentos?
findAndModify no solo actualiza el documento, sino que también devuelve el documento antes o después de la modificación.
Ejemplo:
db.customers.findAndModify({
query: { username: "lintco1" },
update: { username: "lintc", name: "Catherine Davis" },
new: true
});
Este comando reemplaza el documento y puede configurarse para mostrar el documento modificado.
¿Cuáles son las diferencias clave entre Update y Replace?
updateOnese usa para modificar ciertos campos del documento.updateManyse usa para modificar múltiples documentos que cumplen con un filtro.replaceOnereemplaza el documento completo.findAndModifyrealiza dos operaciones: actualización y retorno del documento modificado.
¿Qué consideraciones tener al escalar?
- Las operaciones atómicas como
updateOneson preferibles para minimizar el uso de CPU y disco. findAndModifypuede ser menos eficiente debido a las operaciones adicionales que realiza.