Docs Menu
Docs Home
/
Manual de base de datos
/

Update Documents

Puede actualizar documentos en MongoDB utilizando los siguientes métodos:


➤ Use el menú desplegable Seleccione su lenguaje en la parte superior derecha para establecer el lenguaje de los siguientes ejemplos.


Esta página utiliza lo siguiente mongosh métodos:

  • db.collection.updateOne(<filter>, <update>, <options>)

  • db.collection.updateMany(<filter>, <update>, <options>)

  • db.collection.replaceOne(<filter>, <update>, <options>)

Los ejemplos en esta página usan la colección inventory. Se debe realizar la conexión a una base de datos de prueba en la instancia de MongoDB y luego crear la colección inventory:

Esta página utiliza MongoDB Compass para actualizar los documentos.

Los ejemplos en esta página utilizan la colección inventory. Rellene la colección inventory con los siguientes documentos:

En esta página, se utilizan los siguientes métodos del driver C# de MongoDB:

Los ejemplos en esta página usan la colección inventory. Se debe realizar la conexión a una base de datos de prueba en la instancia de MongoDB y luego crear la colección inventory:

Esta página utiliza las siguientes funciones del controlador MongoDB Go:

Los ejemplos en esta página usan la colección inventory. Se debe realizar la conexión a una base de datos de prueba en la instancia de MongoDB y luego crear la colección inventory:

Esta página utiliza los siguientes métodos del controlador Java Reactive Streams:

Los ejemplos en esta página usan la colección inventory. Se debe realizar la conexión a una base de datos de prueba en la instancia de MongoDB y luego crear la colección inventory:

Esta página utiliza los siguientes métodos del controlador Java Synchronous:

Los ejemplos en esta página usan la colección inventory. Se debe realizar la conexión a una base de datos de prueba en la instancia de MongoDB y luego crear la colección inventory:

Esta página utiliza los siguientes métodos del controlador Motor:

Los ejemplos en esta página usan la colección inventory. Se debe realizar la conexión a una base de datos de prueba en la instancia de MongoDB y luego crear la colección inventory:

Esta página utiliza los siguientes métodos MongoDB Nodo.js Driver:

Los ejemplos en esta página usan la colección inventory. Se debe realizar la conexión a una base de datos de prueba en la instancia de MongoDB y luego crear la colección inventory:

Esta página utiliza los siguientes métodos de la biblioteca PHP de MongoDB:

Los ejemplos en esta página usan la colección inventory. Se debe realizar la conexión a una base de datos de prueba en la instancia de MongoDB y luego crear la colección inventory:

Esta página utiliza los siguientes métodos PyMongo del controlador de Python:

Los ejemplos en esta página usan la colección inventory. Se debe realizar la conexión a una base de datos de prueba en la instancia de MongoDB y luego crear la colección inventory:

Esta página utiliza los siguientes métodos del controlador Ruby de MongoDB:

Los ejemplos en esta página usan la colección inventory. Se debe realizar la conexión a una base de datos de prueba en la instancia de MongoDB y luego crear la colección inventory:

Esta página utiliza los siguientes métodos del controlador MongoDB Scala:

Los ejemplos en esta página usan la colección inventory. Se debe realizar la conexión a una base de datos de prueba en la instancia de MongoDB y luego crear la colección inventory:

db.inventory.insertMany( [
{ item: "canvas", qty: 100, size: { h: 28, w: 35.5, uom: "cm" }, status: "A" },
{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
{ item: "mat", qty: 85, size: { h: 27.9, w: 35.5, uom: "cm" }, status: "A" },
{ item: "mousepad", qty: 25, size: { h: 19, w: 22.85, uom: "cm" }, status: "P" },
{ item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "P" },
{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
{ item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
{ item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" },
{ item: "sketchbook", qty: 80, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
{ item: "sketch pad", qty: 95, size: { h: 22.85, w: 30.5, uom: "cm" }, status: "A" }
] );
[
{ "item": "canvas", "qty": 100, "size": { "h": 28, "w": 35.5, "uom": "cm" }, "status": "A" },
{ "item": "journal", "qty": 25, "size": { "h": 14, "w": 21, "uom": "cm" }, "status": "A" },
{ "item": "mat", "qty": 85, "size": { "h": 27.9, "w": 35.5, "uom": "cm" }, "status": "A" },
{ "item": "mousepad", "qty": 25, "size": { "h": 19, "w": 22.85, "uom": "cm" }, "status": "P" },
{ "item": "notebook", "qty": 50, "size": { "h": 8.5, "w": 11, "uom": "in" }, "status": "P" },
{ "item": "paper", "qty": 100, "size": { "h": 8.5, "w": 11, "uom": "in" }, "status": "D" },
{ "item": "planner", "qty": 75, "size": { "h": 22.85, "w": 30, "uom": "cm" }, "status": "D" },
{ "item": "postcard", "qty": 45, "size": { "h": 10, "w": 15.25, "uom": "cm" }, "status": "A" },
{ "item": "sketchbook", "qty": 80, "size": { "h": 14, "w": 21, "uom": "cm" }, "status": "A" },
{ "item": "sketch pad", "qty": 95, "size": { "h": 22.85, "w": 30.5, "uom": "cm" }, "status": "A" }
]

Para obtener instrucciones sobre cómo insertar documentos con MongoDB Compass, consulta Inserta documentos.

var documents = new[]
{
new BsonDocument
{
{ "item", "canvas" },
{ "qty", 100 },
{ "size", new BsonDocument { { "h", 28 }, { "w", 35.5 }, { "uom", "cm" } } },
{ "status", "A" }
},
new BsonDocument
{
{ "item", "journal" },
{ "qty", 25 },
{ "size", new BsonDocument { { "h", 14 }, { "w", 21 }, { "uom", "cm" } } },
{ "status", "A" }
},
new BsonDocument
{
{ "item", "mat" },
{ "qty", 85 },
{ "size", new BsonDocument { { "h", 27.9 }, { "w", 35.5 }, { "uom", "cm" } } },
{ "status", "A" }
},
new BsonDocument
{
{ "item", "mousepad" },
{ "qty", 25 },
{ "size", new BsonDocument { { "h", 19 }, { "w", 22.85 }, { "uom", "cm" } } },
{ "status", "P" }
},
new BsonDocument
{
{ "item", "notebook" },
{ "qty", 50 },
{ "size", new BsonDocument { { "h", 8.5 }, { "w", 11 }, { "uom", "in" } } },
{ "status", "P" } },
new BsonDocument
{
{ "item", "paper" },
{ "qty", 100 },
{ "size", new BsonDocument { { "h", 8.5 }, { "w", 11 }, { "uom", "in" } } },
{ "status", "D" }
},
new BsonDocument
{
{ "item", "planner" },
{ "qty", 75 },
{ "size", new BsonDocument { { "h", 22.85 }, { "w", 30 }, { "uom", "cm" } } },
{ "status", "D" }
},
new BsonDocument
{
{ "item", "postcard" },
{ "qty", 45 },
{ "size", new BsonDocument { { "h", 10 }, { "w", 15.25 }, { "uom", "cm" } } },
{ "status", "A" }
},
new BsonDocument
{
{ "item", "sketchbook" },
{ "qty", 80 },
{ "size", new BsonDocument { { "h", 14 }, { "w", 21 }, { "uom", "cm" } } },
{ "status", "A" }
},
new BsonDocument
{
{ "item", "sketch pad" },
{ "qty", 95 },
{ "size", new BsonDocument { { "h", 22.85 }, { "w", 30.5 }, { "uom", "cm" } } }, { "status", "A" } },
};
collection.InsertMany(documents);
docs := []any{
bson.D{
{"item", "canvas"},
{"qty", 100},
{"size", bson.D{
{"h", 28},
{"w", 35.5},
{"uom", "cm"},
}},
{"status", "A"},
},
bson.D{
{"item", "journal"},
{"qty", 25},
{"size", bson.D{
{"h", 14},
{"w", 21},
{"uom", "cm"},
}},
{"status", "A"},
},
bson.D{
{"item", "mat"},
{"qty", 85},
{"size", bson.D{
{"h", 27.9},
{"w", 35.5},
{"uom", "cm"},
}},
{"status", "A"},
},
bson.D{
{"item", "mousepad"},
{"qty", 25},
{"size", bson.D{
{"h", 19},
{"w", 22.85},
{"uom", "in"},
}},
{"status", "P"},
},
bson.D{
{"item", "notebook"},
{"qty", 50},
{"size", bson.D{
{"h", 8.5},
{"w", 11},
{"uom", "in"},
}},
{"status", "P"},
},
bson.D{
{"item", "paper"},
{"qty", 100},
{"size", bson.D{
{"h", 8.5},
{"w", 11},
{"uom", "in"},
}},
{"status", "D"},
},
bson.D{
{"item", "planner"},
{"qty", 75},
{"size", bson.D{
{"h", 22.85},
{"w", 30},
{"uom", "cm"},
}},
{"status", "D"},
},
bson.D{
{"item", "postcard"},
{"qty", 45},
{"size", bson.D{
{"h", 10},
{"w", 15.25},
{"uom", "cm"},
}},
{"status", "A"},
},
bson.D{
{"item", "sketchbook"},
{"qty", 80},
{"size", bson.D{
{"h", 14},
{"w", 21},
{"uom", "cm"},
}},
{"status", "A"},
},
bson.D{
{"item", "sketch pad"},
{"qty", 95},
{"size", bson.D{
{"h", 22.85},
{"w", 30.5},
{"uom", "cm"},
}},
{"status", "A"},
},
}
result, err := coll.InsertMany(context.TODO(), docs)
Publisher<Success> insertManyPublisher = collection.insertMany(asList(
Document.parse("{ item: 'canvas', qty: 100, size: { h: 28, w: 35.5, uom: 'cm' }, status: 'A' }"),
Document.parse("{ item: 'journal', qty: 25, size: { h: 14, w: 21, uom: 'cm' }, status: 'A' }"),
Document.parse("{ item: 'mat', qty: 85, size: { h: 27.9, w: 35.5, uom: 'cm' }, status: 'A' }"),
Document.parse("{ item: 'mousepad', qty: 25, size: { h: 19, w: 22.85, uom: 'cm' }, status: 'P' }"),
Document.parse("{ item: 'notebook', qty: 50, size: { h: 8.5, w: 11, uom: 'in' }, status: 'P' }"),
Document.parse("{ item: 'paper', qty: 100, size: { h: 8.5, w: 11, uom: 'in' }, status: 'D' }"),
Document.parse("{ item: 'planner', qty: 75, size: { h: 22.85, w: 30, uom: 'cm' }, status: 'D' }"),
Document.parse("{ item: 'postcard', qty: 45, size: { h: 10, w: 15.25, uom: 'cm' }, status: 'A' }"),
Document.parse("{ item: 'sketchbook', qty: 80, size: { h: 14, w: 21, uom: 'cm' }, status: 'A' }"),
Document.parse("{ item: 'sketch pad', qty: 95, size: { h: 22.85, w: 30.5, uom: 'cm' }, status: 'A' }")
));
collection.insertMany(asList(
Document.parse("{ item: 'canvas', qty: 100, size: { h: 28, w: 35.5, uom: 'cm' }, status: 'A' }"),
Document.parse("{ item: 'journal', qty: 25, size: { h: 14, w: 21, uom: 'cm' }, status: 'A' }"),
Document.parse("{ item: 'mat', qty: 85, size: { h: 27.9, w: 35.5, uom: 'cm' }, status: 'A' }"),
Document.parse("{ item: 'mousepad', qty: 25, size: { h: 19, w: 22.85, uom: 'cm' }, status: 'P' }"),
Document.parse("{ item: 'notebook', qty: 50, size: { h: 8.5, w: 11, uom: 'in' }, status: 'P' }"),
Document.parse("{ item: 'paper', qty: 100, size: { h: 8.5, w: 11, uom: 'in' }, status: 'D' }"),
Document.parse("{ item: 'planner', qty: 75, size: { h: 22.85, w: 30, uom: 'cm' }, status: 'D' }"),
Document.parse("{ item: 'postcard', qty: 45, size: { h: 10, w: 15.25, uom: 'cm' }, status: 'A' }"),
Document.parse("{ item: 'sketchbook', qty: 80, size: { h: 14, w: 21, uom: 'cm' }, status: 'A' }"),
Document.parse("{ item: 'sketch pad', qty: 95, size: { h: 22.85, w: 30.5, uom: 'cm' }, status: 'A' }")
));
await db.inventory.insert_many(
[
{
"item": "canvas",
"qty": 100,
"size": {"h": 28, "w": 35.5, "uom": "cm"},
"status": "A",
},
{
"item": "journal",
"qty": 25,
"size": {"h": 14, "w": 21, "uom": "cm"},
"status": "A",
},
{
"item": "mat",
"qty": 85,
"size": {"h": 27.9, "w": 35.5, "uom": "cm"},
"status": "A",
},
{
"item": "mousepad",
"qty": 25,
"size": {"h": 19, "w": 22.85, "uom": "cm"},
"status": "P",
},
{
"item": "notebook",
"qty": 50,
"size": {"h": 8.5, "w": 11, "uom": "in"},
"status": "P",
},
{
"item": "paper",
"qty": 100,
"size": {"h": 8.5, "w": 11, "uom": "in"},
"status": "D",
},
{
"item": "planner",
"qty": 75,
"size": {"h": 22.85, "w": 30, "uom": "cm"},
"status": "D",
},
{
"item": "postcard",
"qty": 45,
"size": {"h": 10, "w": 15.25, "uom": "cm"},
"status": "A",
},
{
"item": "sketchbook",
"qty": 80,
"size": {"h": 14, "w": 21, "uom": "cm"},
"status": "A",
},
{
"item": "sketch pad",
"qty": 95,
"size": {"h": 22.85, "w": 30.5, "uom": "cm"},
"status": "A",
},
]
)
await db.collection('inventory').insertMany([
{
item: 'canvas',
qty: 100,
size: { h: 28, w: 35.5, uom: 'cm' },
status: 'A'
},
{
item: 'journal',
qty: 25,
size: { h: 14, w: 21, uom: 'cm' },
status: 'A'
},
{
item: 'mat',
qty: 85,
size: { h: 27.9, w: 35.5, uom: 'cm' },
status: 'A'
},
{
item: 'mousepad',
qty: 25,
size: { h: 19, w: 22.85, uom: 'cm' },
status: 'P'
},
{
item: 'notebook',
qty: 50,
size: { h: 8.5, w: 11, uom: 'in' },
status: 'P'
},
{
item: 'paper',
qty: 100,
size: { h: 8.5, w: 11, uom: 'in' },
status: 'D'
},
{
item: 'planner',
qty: 75,
size: { h: 22.85, w: 30, uom: 'cm' },
status: 'D'
},
{
item: 'postcard',
qty: 45,
size: { h: 10, w: 15.25, uom: 'cm' },
status: 'A'
},
{
item: 'sketchbook',
qty: 80,
size: { h: 14, w: 21, uom: 'cm' },
status: 'A'
},
{
item: 'sketch pad',
qty: 95,
size: { h: 22.85, w: 30.5, uom: 'cm' },
status: 'A'
}
]);
$insertManyResult = $db->inventory->insertMany([
[
'item' => 'canvas',
'qty' => 100,
'size' => ['h' => 28, 'w' => 35.5, 'uom' => 'cm'],
'status' => 'A',
],
[
'item' => 'journal',
'qty' => 25,
'size' => ['h' => 14, 'w' => 21, 'uom' => 'cm'],
'status' => 'A',
],
[
'item' => 'mat',
'qty' => 85,
'size' => ['h' => 27.9, 'w' => 35.5, 'uom' => 'cm'],
'status' => 'A',
],
[
'item' => 'mousepad',
'qty' => 25,
'size' => ['h' => 19, 'w' => 22.85, 'uom' => 'cm'],
'status' => 'P',
],
[
'item' => 'notebook',
'qty' => 50,
'size' => ['h' => 8.5, 'w' => 11, 'uom' => 'in'],
'status' => 'P',
],
[
'item' => 'paper',
'qty' => 100,
'size' => ['h' => 8.5, 'w' => 11, 'uom' => 'in'],
'status' => 'D',
],
[
'item' => 'planner',
'qty' => 75,
'size' => ['h' => 22.85, 'w' => 30, 'uom' => 'cm'],
'status' => 'D',
],
[
'item' => 'postcard',
'qty' => 45,
'size' => ['h' => 10, 'w' => 15.25, 'uom' => 'cm'],
'status' => 'A',
],
[
'item' => 'sketchbook',
'qty' => 80,
'size' => ['h' => 14, 'w' => 21, 'uom' => 'cm'],
'status' => 'A',
],
[
'item' => 'sketch pad',
'qty' => 95,
'size' => ['h' => 22.85, 'w' => 30.5, 'uom' => 'cm'],
'status' => 'A',
],
]);
db.inventory.insert_many(
[
{
"item": "canvas",
"qty": 100,
"size": {"h": 28, "w": 35.5, "uom": "cm"},
"status": "A",
},
{
"item": "journal",
"qty": 25,
"size": {"h": 14, "w": 21, "uom": "cm"},
"status": "A",
},
{
"item": "mat",
"qty": 85,
"size": {"h": 27.9, "w": 35.5, "uom": "cm"},
"status": "A",
},
{
"item": "mousepad",
"qty": 25,
"size": {"h": 19, "w": 22.85, "uom": "cm"},
"status": "P",
},
{
"item": "notebook",
"qty": 50,
"size": {"h": 8.5, "w": 11, "uom": "in"},
"status": "P",
},
{
"item": "paper",
"qty": 100,
"size": {"h": 8.5, "w": 11, "uom": "in"},
"status": "D",
},
{
"item": "planner",
"qty": 75,
"size": {"h": 22.85, "w": 30, "uom": "cm"},
"status": "D",
},
{
"item": "postcard",
"qty": 45,
"size": {"h": 10, "w": 15.25, "uom": "cm"},
"status": "A",
},
{
"item": "sketchbook",
"qty": 80,
"size": {"h": 14, "w": 21, "uom": "cm"},
"status": "A",
},
{
"item": "sketch pad",
"qty": 95,
"size": {"h": 22.85, "w": 30.5, "uom": "cm"},
"status": "A",
},
]
)
client[:inventory].insert_many([
{ item: 'canvas',
qty: 100,
size: { h: 28, w: 35.5, uom: 'cm' },
status: 'A' },
{ item: 'journal',
qty: 25,
size: { h: 14, w: 21, uom: 'cm' },
status: 'A' },
{ item: 'mat',
qty: 85,
size: { h: 27.9, w: 35.5, uom: 'cm' },
status: 'A' },
{ item: 'mousepad',
qty: 25,
size: { h: 19, w: 22.85, uom: 'cm' },
status: 'P' },
{ item: 'notebook',
qty: 50,
size: { h: 8.5, w: 11, uom: 'in' },
status: 'P' },
{ item: 'paper',
qty: 100,
size: { h: 8.5, w: 11, uom: 'in' },
status: 'D' },
{ item: 'planner',
qty: 75,
size: { h: 22.85, w: 30, uom: 'cm' },
status: 'D' },
{ item: 'postcard',
qty: 45,
size: { h: 10, w: 15.25, uom: 'cm' },
status: 'A' },
{ item: 'sketchbook',
qty: 80,
size: { h: 14, w: 21, uom: 'cm' },
status: 'A' },
{ item: 'sketch pad',
qty: 95,
size: { h: 22.85, w: 30.5, uom: 'cm' },
status: 'A' }
])
collection.insertMany(Seq(
Document("""{ item: "canvas", qty: 100, size: { h: 28, w: 35.5, uom: "cm" }, status: "A" }"""),
Document("""{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" }"""),
Document("""{ item: "mat", qty: 85, size: { h: 27.9, w: 35.5, uom: "cm" }, status: "A" }"""),
Document("""{ item: "mousepad", qty: 25, size: { h: 19, w: 22.85, uom: "cm" }, status: "P" }"""),
Document("""{ item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "P" }"""),
Document("""{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" }"""),
Document("""{ item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" }"""),
Document("""{ item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }"""),
Document("""{ item: "sketchbook", qty: 80, size: { h: 14, w: 21, uom: "cm" }, status: "A" }"""),
Document("""{ item: "sketch pad", qty: 95, size: { h: 22.85, w: 30.5, uom: "cm" }, status: "A" }""")
)).execute()

Para actualizar un documento, MongoDB proporciona operadores de actualización, como $set, para modificar los valores de los campos.

Para utilizar los operadores de actualización, pasa a los métodos de actualización un documento de actualización con el formato:

{
<update operator>: { <field1>: <value1>, ... },
<update operator>: { <field2>: <value2>, ... },
...
}

Algunos operadores de actualización, como $set, crearán el campo si este no existe. Consultar la referencia del operador de actualización individual para más detalles.

Para actualizar un documento en Compass, pase el cursor sobre el documento de destino y haga clic en el icono del lápiz:

Haz clic en editar documento

Después de hacer clic en el icono del lápiz, el documento entra en modo de edición:

Modo de edición de documento

Ahora puedes modificar este documento si haces clic en el elemento que desees cambiar y ajustas el valor.

Para obtener instrucciones detalladas sobre cómo actualizar documentos en Compass, consulta la documentación de Compass o sigue el ejemplo a continuación.

Una vez que esté satisfecho con los cambios, haga clic en Update para guardar el documento actualizado.

Haz clic en Cancel para revertir cualquier modificación realizada en el documento y salir del modo de edición.

Para actualizar un documento, MongoDB proporciona operadores de actualización como $set para modificar los valores de los campos.

Para utilizar los operadores de actualización, pasa a los métodos de actualización un documento de actualización con el formato:

{
<update operator> => { <field1> => <value1>, ... },
<update operator> => { <field2> => <value2>, ... },
...
}

Algunos operadores de actualización, como $set, crearán el campo si este no existe. Consultar la referencia del operador de actualización individual para más detalles.

Para actualizar un documento, MongoDB proporciona operadores de actualización como $set para modificar los valores de los campos.

Algunos operadores de actualización, como $set, crearán el campo si este no existe. Consultar la referencia del operador de actualización individual para más detalles.

Para actualizar un documento, MongoDB proporciona operadores de actualización como $set para modificar los valores de los campos.

El controlador proporciona la clase com.mongodb.client.model.Updates para facilitar la creación de documentos de actualización. Por ejemplo:

combine(set( <field1>, <value1>), set(<field2>, <value2> ) )

Para obtener una lista de los asistentes de actualización, consultar com.mongodb.client.model.Updates.

Algunos operadores de actualización, como $set, crearán el campo si este no existe. Consultar la referencia del operador de actualización individual para más detalles.

Para actualizar un documento, MongoDB proporciona operadores de actualización como $set para modificar los valores de los campos.

El controlador proporciona la clase com.mongodb.client.model.Updates para facilitar la creación de documentos de actualización. Por ejemplo:

combine(set( <field1>, <value1>), set(<field2>, <value2> ) )

Para obtener una lista de los asistentes de actualización, consultar com.mongodb.client.model.Updates.

Algunos operadores de actualización, como $set, crearán el campo si este no existe. Consultar la referencia del operador de actualización individual para más detalles.

Para actualizar un documento, MongoDB proporciona operadores de actualización como $set para modificar los valores de los campos.

Para utilizar los operadores de actualización, pasa a los métodos de actualización un documento de actualización con el formato:

{
<update operator>: { <field1>: <value1>, ... },
<update operator>: { <field2>: <value2>, ... },
...
}

Algunos operadores de actualización, como $set, crearán el campo si este no existe. Consultar la referencia del operador de actualización individual para más detalles.

Para actualizar un documento, MongoDB proporciona operadores de actualización como $set para modificar los valores de los campos.

Para utilizar los operadores de actualización, pasa a los métodos de actualización un documento de actualización con el formato:

{
<update operator>: { <field1>: <value1>, ... },
<update operator>: { <field2>: <value2>, ... },
...
}

Algunos operadores de actualización, como $set, crearán el campo si este no existe. Consultar la referencia del operador de actualización individual para más detalles.

Para actualizar un documento, MongoDB proporciona operadores de actualización como $set para modificar los valores de los campos.

Para utilizar los operadores de actualización, pasa a los métodos de actualización un documento de actualización con el formato:

[
<update operator> => [ <field1> => <value1>, ... ],
<update operator> => [ <field2> => <value2>, ... ],
...
]

Algunos operadores de actualización, como $set, crearán el campo si este no existe. Consultar la referencia del operador de actualización individual para más detalles.

Para actualizar un documento, MongoDB proporciona operadores de actualización como $set para modificar los valores de los campos.

Para utilizar los operadores de actualización, pasa a los métodos de actualización un documento de actualización con el formato:

{
<update operator>: { <field1>: <value1>, ... },
<update operator>: { <field2>: <value2>, ... },
...
}

Algunos operadores de actualización, como $set, crearán el campo si este no existe. Consultar la referencia del operador de actualización individual para más detalles.

Para actualizar un documento, MongoDB proporciona operadores de actualización como $set para modificar los valores de los campos.

Para utilizar los operadores de actualización, pasa a los métodos de actualización un documento de actualización con el formato:

{
<update operator> => { <field1> => <value1>, ... },
<update operator> => { <field2> => <value2>, ... },
...
}

Algunos operadores de actualización, como $set, crearán el campo si este no existe. Consultar la referencia del operador de actualización individual para más detalles.

Para actualizar un documento, MongoDB proporciona operadores de actualización como $set para modificar los valores de los campos.

Para utilizar los operadores de actualización, pasa a los métodos de actualización un documento de actualización con el formato:

(
set (<field1>, <value1>),
set (<field2>, <value2>),
...
)

Algunos operadores de actualización, como $set, crearán el campo si este no existe. Consultar la referencia del operador de actualización individual para más detalles.

Nota

MongoDB puede aceptar un pipeline de agregación para especificar las modificaciones que se deben realizar en lugar de actualizar un documento. Para obtener más detalles, consultar la página de referencia del método.

En el siguiente ejemplo, se utiliza el método db.collection.updateOne() en la colección inventory para actualizar el primer documento donde item es igual a "paper":

El siguiente ejemplo demuestra cómo usar MongoDB Compass para modificar un único documento donde item: paper en la colección inventory:

Nota

Este ejemplo utiliza la vista de tabla de brújula para modificar el documento. El proceso de edición con la vista de lista de brújula sigue un enfoque muy similar.

Para obtener más información sobre las diferencias entre la vista de tabla y la vista de lista en Compass, consulta la documentación de Compass.

El siguiente ejemplo utiliza el método IMongoCollection.UpdateOne() en la colección inventory para actualizar el primer documento donde item es igual a "paper":

El siguiente ejemplo utiliza el método Collection.UpdateOne en la colección inventory para actualizar el primer documento donde item es igual a "paper":

El siguiente ejemplo utiliza com.mongodb.reactivestreams.client.MongoCollection.actualizarOne en la colección inventory para actualizar el primer documento donde item sea igual a "paper":

El siguiente ejemplo utiliza el método com.mongodb.cliente.MongoCollection.updateOne en la colección inventory para actualizar el primer documento donde item es igual a "paper":

El siguiente ejemplo utiliza el método update_one en la colección inventory para actualizar el primer documento donde item es igual a "paper":

El siguiente ejemplo utiliza el método Collection.updateOne() en la colección inventory para actualizar el primer documento donde item sea igual a "paper":

En el siguiente ejemplo, se utiliza el método updateOne() en la colección inventory para actualizar el primer documento donde item es igual a "paper":

El siguiente ejemplo utiliza el método update_one en la colección inventory para actualizar el primer documento donde item es igual a "paper":

El siguiente ejemplo utiliza el método update_one() en la colección inventory para actualizar el primer documento donde item sea igual a "paper":

El siguiente ejemplo utiliza el método updateOne() en la colección inventory para actualizar el primer documento donde item sea igual a "paper":

db.inventory.updateOne(
{ item: "paper" },
{
$set: { "size.uom": "cm", status: "P" },
$currentDate: { lastModified: true }
}
)

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "cm" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

Modifique el documento de destino de la siguiente manera:

  • Cambie el campo status de D a P.

  • Cambie el campo size.uom de in a cm.

  • Añada un nuevo campo llamado lastModified cuyo valor será la fecha de hoy.

  1. Haz clic en el botón Table en la navegación superior para acceder a la Vista de tabla:

    Acceder a la Vista de Tabla
  2. Utiliza la barra de query de Compass para localizar el documento de destino.

    Copia el siguiente documento de filtro en la barra de query y haz clic en Find:

    { item: "paper" }
    Buscar documento de Paper
  3. Pasa el cursor sobre el campo status y haz clic en el icono del lápiz que aparece en el lado derecho del documento para entrar en el modo de edición:

    Haga clic en el botón de editar
  4. Cambia el valor del campo a "P".

  5. Hacer clic en el botón Update debajo del campo para guardar los cambios.

  6. Pasa el cursor sobre el campo size y haz clic en las flechas que apuntan hacia afuera que aparecen en el lado derecho del campo. Esto abre una nueva pestaña que muestra los campos dentro del objeto size:

    Ampliar el tamaño del objeto
  7. Sigue el mismo proceso descrito en los pasos 3-5 para editar el campo status y cambia el valor del campo size.uom a "cm".

  8. Haz clic en la pestaña más a la izquierda sobre la tabla etiquetada inventory para regresar a la vista original de la tabla, que muestra el documento principal:

    Haga clic en la pestaña de inventario
  9. Pasa el cursor sobre el campo status y haz clic en el icono de lápiz que aparece en el lado derecho del documento para volver a entrar en el modo de edición.

  10. Haz clic dentro del campo status y luego en el icono plus button que aparece en el menú de edición.

    Haz clic en el botón Add Field After status que aparece debajo del botón más:

    Añada un campo después del estado
  11. Agrega un nuevo campo llamado lastModified con el valor de la fecha de hoy. Establece el tipo de campo en Date:

    Enviar actualización
  12. Hacer clic en el botón Update debajo del campo para guardar los cambios.

    Nota

    Debido a que MongoDB Compass no admite $currentDate ni ningún otro operador de actualización de campos, deberás introducir manualmente el valor de la fecha en Compass.

var filter = Builders<BsonDocument>.Filter.Eq("item", "paper");
var update = Builders<BsonDocument>.Update.Set("size.uom", "cm").Set("status", "P").CurrentDate("lastModified");
var result = collection.UpdateOne(filter, update);

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "cm" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

result, err := coll.UpdateOne(
context.TODO(),
bson.D{
{"item", "paper"},
},
bson.D{
{"$set", bson.D{
{"size.uom", "cm"},
{"status", "P"},
}},
{"$currentDate", bson.D{
{"lastModified", true},
}},
},
)

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "cm" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

Publisher<UpdateResult> updateOnePublisher = collection.updateOne(eq("item", "paper"),
combine(set("size.uom", "cm"), set("status", "P"), currentDate("lastModified")));

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "cm" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

collection.updateOne(eq("item", "paper"),
combine(set("size.uom", "cm"), set("status", "P"), currentDate("lastModified")));

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "cm" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

await db.inventory.update_one(
{"item": "paper"},
{"$set": {"size.uom": "cm", "status": "P"}, "$currentDate": {"lastModified": True}},
)

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "cm" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

await db.collection('inventory').updateOne(
{ item: 'paper' },
{
$set: { 'size.uom': 'cm', status: 'P' },
$currentDate: { lastModified: true }
}
);

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "cm" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

$updateResult = $db->inventory->updateOne(
['item' => 'paper'],
[
'$set' => ['size.uom' => 'cm', 'status' => 'P'],
'$currentDate' => ['lastModified' => true],
],
);

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "cm" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

db.inventory.update_one(
{"item": "paper"},
{"$set": {"size.uom": "cm", "status": "P"}, "$currentDate": {"lastModified": True}},
)
client[:inventory].update_one({ item: 'paper'},
{ '$set' => { 'size.uom' => 'cm', 'status' => 'P' },
'$currentDate' => { 'lastModified' => true } })

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "cm" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

collection.updateOne(equal("item", "paper"),
combine(set("size.uom", "cm"), set("status", "P"), currentDate("lastModified"))
).execute()

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "cm" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

En el siguiente ejemplo, se utiliza el método db.collection.updateMany() en la colección inventory para actualizar todos los documentos donde qty es menor que 50:

Solo puede actualizar un documento a la vez en MongoDB Compass. Para actualizar varios documentos, conecte su implementación de MongoDB desde mongosh o un controlador de MongoDB y siga los ejemplos de esta sección para su método preferido.

El siguiente ejemplo utiliza el método IMongoCollection.UpdateMany() en la colección inventory para actualizar todos los documentos donde qty sea menor que 50:

El siguiente ejemplo utiliza el método Collection.UpdateMany en la colección inventory para actualizar todos los documentos donde qty es menor que 50:

El siguiente ejemplo utiliza el método com.mongodb.reactivestreams.client.MongoCollection.updateMany en la colección inventory para actualizar todos los documentos donde qty es menor que 50:

El siguiente ejemplo utiliza el método com.mongodb.client.MongoCollection.updateMany en la colección inventory para actualizar todos los documentos donde qty sea menor que 50:

El siguiente ejemplo utiliza el método update_many en la colección inventory para actualizar todos los documentos donde qty es menor que 50:

El siguiente ejemplo utiliza el método colección.updateMany() en la colección inventory para actualizar todos los documentos donde qty sea menor que 50:

En el siguiente ejemplo, se utiliza el método updateMany() en la colección inventory para actualizar todos los documentos donde qty es menor que 50:

El siguiente ejemplo utiliza el método update_many en la colección inventory para actualizar todos los documentos donde qty es menor que 50:

El siguiente ejemplo utiliza el método update_many() en la colección inventory para actualizar todos los documentos donde qty sea menor que 50:

El siguiente ejemplo utiliza el método updateMany() en la colección inventory para actualizar todos los documentos donde qty es menor que 50:

db.inventory.updateMany(
{ "qty": { $lt: 50 } },
{
$set: { "size.uom": "in", status: "P" },
$currentDate: { lastModified: true }
}
)

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "in" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

var filter = Builders<BsonDocument>.Filter.Lt("qty", 50);
var update = Builders<BsonDocument>.Update.Set("size.uom", "in").Set("status", "P").CurrentDate("lastModified");
var result = collection.UpdateMany(filter, update);

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "in" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

result, err := coll.UpdateMany(
context.TODO(),
bson.D{
{"qty", bson.D{
{"$lt", 50},
}},
},
bson.D{
{"$set", bson.D{
{"size.uom", "cm"},
{"status", "P"},
}},
{"$currentDate", bson.D{
{"lastModified", true},
}},
},
)

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "in" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

Publisher<UpdateResult> updateManyPublisher = collection.updateMany(lt("qty", 50),
combine(set("size.uom", "in"), set("status", "P"), currentDate("lastModified")));

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "in" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

collection.updateMany(lt("qty", 50),
combine(set("size.uom", "in"), set("status", "P"), currentDate("lastModified")));

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "in" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

await db.inventory.update_many(
{"qty": {"$lt": 50}},
{"$set": {"size.uom": "in", "status": "P"}, "$currentDate": {"lastModified": True}},
)

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "in" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

await db.collection('inventory').updateMany(
{ qty: { $lt: 50 } },
{
$set: { 'size.uom': 'in', status: 'P' },
$currentDate: { lastModified: true }
}
);

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "in" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

$updateResult = $db->inventory->updateMany(
['qty' => ['$lt' => 50]],
[
'$set' => ['size.uom' => 'cm', 'status' => 'P'],
'$currentDate' => ['lastModified' => true],
],
);

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "in" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

db.inventory.update_many(
{"qty": {"$lt": 50}},
{"$set": {"size.uom": "in", "status": "P"}, "$currentDate": {"lastModified": True}},
)
client[:inventory].update_many({ qty: { '$lt' => 50 } },
{ '$set' => { 'size.uom' => 'in', 'status' => 'P' },
'$currentDate' => { 'lastModified' => true } })

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "in" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

collection.updateMany(lt("qty", 50),
combine(set("size.uom", "in"), set("status", "P"), currentDate("lastModified"))
).execute()

La operación de actualización:

  • utiliza el operador $set para actualizar el valor del campo size.uom a "in" y el valor del campo status a "P",

  • utiliza el operador $currentDate para actualizar el valor del campo lastModified a la fecha actual. Si el campo lastModified no existe, $currentDate creará el campo. Consulta $currentDate para obtener más detalles.

Para reemplazar todo el contenido de un documento excepto el campo _id, pasa un documento completamente nuevo como segundo argumento a db.collection.replaceOne().

Al reemplazar un documento, el documento de reemplazo debe consistir únicamente en pares de campo/valor. El documento de reemplazo no puede incluir expresiones de operadores de actualización.

El documento de reemplazo puede tener campos distintos a los del documento original. En el documento de reemplazo, puedes omitir el campo _id ya que el campo _id es inmutable. Sin embargo, si incluyes el campo _id, debe tener el mismo valor que el valor actual.

En el siguiente ejemplo, se reemplaza el primer documento de la colección inventory donde item: "paper":

No se puede reemplazar un documento en MongoDB Compass. Para reemplazar un documento, se debe realizar la conexión de la implementación de MongoDB desde mongosh o un driver de MongoDB y seguir los ejemplos de esta sección para el método de preferencia.

Para reemplazar todo el contenido de un documento excepto el campo _id, pasa un documento completamente nuevo como segundo argumento a IMongoCollection.ReplaceOne().

Al reemplazar un documento, el documento de reemplazo debe consistir únicamente en pares de campo/valor. El documento de reemplazo no puede incluir expresiones de operadores de actualización.

El documento de reemplazo puede tener campos distintos a los del documento original. En el documento de reemplazo, puedes omitir el campo _id ya que el campo _id es inmutable. Sin embargo, si incluyes el campo _id, debe tener el mismo valor que el valor actual.

En el siguiente ejemplo, se reemplaza el primer documento de la colección inventory donde item: "paper":

Para reemplazar todo el contenido de un documento excepto por el campo _id, pasa un documento completamente nuevo como segundo argumento a Colección.ReplaceOne.

Al reemplazar un documento, el documento de reemplazo debe consistir únicamente en pares de campo/valor. El documento de reemplazo no puede incluir expresiones de operadores de actualización.

El documento de reemplazo puede tener campos distintos a los del documento original. En el documento de reemplazo, puedes omitir el campo _id ya que el campo _id es inmutable. Sin embargo, si incluyes el campo _id, debe tener el mismo valor que el valor actual.

En el siguiente ejemplo, se reemplaza el primer documento de la colección inventory donde item: "paper":

Para reemplazar todo el contenido de un documento excepto el campo _id, pasar un documento completamente nuevo como segundo argumento a com.mongodb.reactivestreams.client.MongoCollection.replaceOne.

Al reemplazar un documento, el documento de reemplazo debe consistir únicamente en pares de campo/valor. El documento de reemplazo no puede incluir expresiones de operadores de actualización.

El documento de reemplazo puede tener campos distintos a los del documento original. En el documento de reemplazo, puedes omitir el campo _id ya que el campo _id es inmutable. Sin embargo, si incluyes el campo _id, debe tener el mismo valor que el valor actual.

En el siguiente ejemplo, se reemplaza el primer documento de la colección inventory donde item: "paper":

Para reemplazar todo el contenido de un documento excepto el campo _id, pasar un documento completamente nuevo como segundo argumento a com.mongodb.client.MongoCollection.replaceOne.

Al reemplazar un documento, el documento de reemplazo debe consistir únicamente en pares de campo/valor. El documento de reemplazo no puede incluir expresiones de operadores de actualización.

El documento de reemplazo puede tener campos distintos a los del documento original. En el documento de reemplazo, puedes omitir el campo _id ya que el campo _id es inmutable. Sin embargo, si incluyes el campo _id, debe tener el mismo valor que el valor actual.

En el siguiente ejemplo, se reemplaza el primer documento de la colección inventory donde item: "paper":

Para reemplazar todo el contenido de un documento excepto el campo _id, pasa un documento completamente nuevo como segundo argumento a replace_one.

Al reemplazar un documento, el documento de reemplazo debe consistir únicamente en pares de campo/valor. El documento de reemplazo no puede incluir expresiones de operadores de actualización.

El documento de reemplazo puede tener campos distintos a los del documento original. En el documento de reemplazo, puedes omitir el campo _id ya que el campo _id es inmutable. Sin embargo, si incluyes el campo _id, debe tener el mismo valor que el valor actual.

En el siguiente ejemplo, se reemplaza el primer documento de la colección inventory donde item: "paper":

Para reemplazar todo el contenido de un documento excepto el campo _id, pasa un documento completamente nuevo como segundo argumento a colección.replaceOne().

Al reemplazar un documento, el documento de reemplazo debe consistir únicamente en pares de campo/valor. El documento de reemplazo no puede incluir expresiones de operadores de actualización.

El documento de reemplazo puede tener campos distintos a los del documento original. En el documento de reemplazo, puedes omitir el campo _id ya que el campo _id es inmutable. Sin embargo, si incluyes el campo _id, debe tener el mismo valor que el valor actual.

En el siguiente ejemplo, se reemplaza el primer documento de la colección inventory donde item: "paper":

Para reemplazar todo el contenido de un documento excepto el campo _id, pasa un documento completamente nuevo como segundo argumento a replaceOne().

Al reemplazar un documento, el documento de reemplazo debe consistir únicamente en pares de campo/valor. El documento de reemplazo no puede incluir expresiones de operadores de actualización.

El documento de reemplazo puede tener campos distintos a los del documento original. En el documento de reemplazo, puedes omitir el campo _id ya que el campo _id es inmutable. Sin embargo, si incluyes el campo _id, debe tener el mismo valor que el valor actual.

En el siguiente ejemplo, se reemplaza el primer documento de la colección inventory donde item: "paper":

Para reemplazar todo el contenido de un documento excepto el campo _id, pasa un documento completamente nuevo como segundo argumento a replace_one.

Al reemplazar un documento, el documento de reemplazo debe consistir únicamente en pares de campo/valor. El documento de reemplazo no puede incluir expresiones de operadores de actualización.

El documento de reemplazo puede tener campos distintos a los del documento original. En el documento de reemplazo, puedes omitir el campo _id ya que el campo _id es inmutable. Sin embargo, si incluyes el campo _id, debe tener el mismo valor que el valor actual.

En el siguiente ejemplo, se reemplaza el primer documento de la colección inventory donde item: "paper":

Para reemplazar todo el contenido de un documento excepto por el campo _id, pasa un documento completamente nuevo como segundo argumento a replace_one().

Al reemplazar un documento, el documento de reemplazo debe consistir únicamente en pares de campo/valor. El documento de reemplazo no puede incluir expresiones de operadores de actualización.

El documento de reemplazo puede tener campos distintos a los del documento original. En el documento de reemplazo, puedes omitir el campo _id ya que el campo _id es inmutable. Sin embargo, si incluyes el campo _id, debe tener el mismo valor que el valor actual.

En el siguiente ejemplo, se reemplaza el primer documento de la colección inventory donde item: "paper":

Para reemplazar todo el contenido de un documento excepto el campo _id, pasar un documento completamente nuevo como segundo argumento a replaceOne()

Al reemplazar un documento, el documento de reemplazo debe consistir únicamente en pares de campo/valor. El documento de reemplazo no puede incluir expresiones de operadores de actualización.

El documento de reemplazo puede tener campos distintos a los del documento original. En el documento de reemplazo, puedes omitir el campo _id ya que el campo _id es inmutable. Sin embargo, si incluyes el campo _id, debe tener el mismo valor que el valor actual.

En el siguiente ejemplo, se reemplaza el primer documento de la colección inventory donde item: "paper":

db.inventory.replaceOne(
{ item: "paper" },
{ item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] }
)
var filter = Builders<BsonDocument>.Filter.Eq("item", "paper");
var replacement = new BsonDocument
{
{ "item", "paper" },
{ "instock", new BsonArray
{
new BsonDocument { { "warehouse", "A" }, { "qty", 60 } },
new BsonDocument { { "warehouse", "B" }, { "qty", 40 } } }
}
};
var result = collection.ReplaceOne(filter, replacement);
result, err := coll.ReplaceOne(
context.TODO(),
bson.D{
{"item", "paper"},
},
bson.D{
{"item", "paper"},
{"instock", bson.A{
bson.D{
{"warehouse", "A"},
{"qty", 60},
},
bson.D{
{"warehouse", "B"},
{"qty", 40},
},
}},
},
)
Publisher<UpdateResult> replaceOnePublisher = collection.replaceOne(eq("item", "paper"),
Document.parse("{ item: 'paper', instock: [ { warehouse: 'A', qty: 60 }, { warehouse: 'B', qty: 40 } ] }"));
collection.replaceOne(eq("item", "paper"),
Document.parse("{ item: 'paper', instock: [ { warehouse: 'A', qty: 60 }, { warehouse: 'B', qty: 40 } ] }"));
await db.inventory.replace_one(
{"item": "paper"},
{
"item": "paper",
"instock": [{"warehouse": "A", "qty": 60}, {"warehouse": "B", "qty": 40}],
},
)
await db.collection('inventory').replaceOne(
{ item: 'paper' },
{
item: 'paper',
instock: [
{ warehouse: 'A', qty: 60 },
{ warehouse: 'B', qty: 40 }
]
}
);
$updateResult = $db->inventory->replaceOne(
['item' => 'paper'],
[
'item' => 'paper',
'instock' => [
['warehouse' => 'A', 'qty' => 60],
['warehouse' => 'B', 'qty' => 40],
],
],
);
db.inventory.replace_one(
{"item": "paper"},
{
"item": "paper",
"instock": [{"warehouse": "A", "qty": 60}, {"warehouse": "B", "qty": 40}],
},
)
client[:inventory].replace_one({ item: 'paper' },
{ item: 'paper',
instock: [ { warehouse: 'A', qty: 60 },
{ warehouse: 'B', qty: 40 } ] })
collection.replaceOne(equal("item", "paper"),
Document("""{ item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] }""")
).execute()

Nota

Solo se puede actualizar un documento por vez en la interfaz de usuario de MongoDB Atlas. Para actualizar varios documentos o reemplazar un documento completo, se debe realizar la implementación de Atlas desde mongosh o un driver de MongoDB y seguir los ejemplos de esta página para el método de preferencia.

El ejemplo en esta sección utiliza el conjunto de datos de muestra de suministros. Para aprender a cargar el conjunto de datos de muestra en la implementación de MongoDB Atlas, se debe consultar Cargar datos de muestra.

Para actualizar un documento en MongoDB Atlas, siga estos pasos:

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Clusters en la sección Database.

    La página de clústeres se muestra.

2
  1. Para el clúster que contiene los datos de muestra, haz clic en Browse Collections.

  2. En el panel de navegación izquierdo, seleccione la base de datos sample_supplies.

  3. Seleccione la colección sales.

3

Puede especificar un documento de filtro de query en el campo Filter. Un documento de filtro de query utiliza operadores del query para especificar condiciones de búsqueda.

Copia el siguiente documento de filtro de query en la barra de búsqueda Filter y haz clic en Apply:

{ saleDate: { $gte: { $date: "2016-01-01T00:00-00:00" }, $lte: { $date: "2016-01-02T00:00-00:00" } } }

Este filtro de query devuelve todos los documentos de la colección sample_supplies.sales donde saleDate está entre el 1 y el 2 de enero de 2016, hora UTC.

4

Para editar un documento que aparece en los resultados del query, pasa el ratón sobre el documento y haz clic en el icono del lápiz. En el editor de documentos, puedes:

  • Añade un nuevo campo.

  • Borrar un campo existente.

  • Edita el nombre, el valor o el tipo de un campo.

  • Revertir un cambio específico.

Para obtener instrucciones detalladas, consultar Crear, ver, actualizar y borrar documentos.

5

Para confirmar y guardar los cambios, haz clic en el botón Update.

Todas las operaciones de guardado en MongoDB son atómicas a nivel de un solo documento. Para obtener más información sobre MongoDB y la atomicidad, consulta Atomicidad y Transacciones.

Una vez establecido, no se podrá actualizar el valor del campo _id ni reemplazar un documento existente con un documento de reemplazo que tenga un valor diferente en el campo _id.

Utiliza el método updateMany() solo para operaciones idempotentes.

Para las operaciones de guardado, MongoDB conserva el orden de los campos del documento excepto en los siguientes casos:

  • El campo _id siempre es el primer campo del documento.

  • Las actualizaciones que incluyen renaming de los nombres de campo pueden resultar en el reordenamiento de los campos en el documento.

Si updateOne(), updateMany() o replaceOne() incluye upsert : true y ningún documento coincide con el filtro especificado, entonces la operación crea un nuevo documento y lo inserta. Si hay documentos que coinciden, la operación modifica o reemplaza dichos documentos.

Para obtener detalles sobre el nuevo documento creado, consulta las páginas de referencia individuales de los métodos.

La opción de inserción no está disponible en MongoDB Compass.

Si UpdateOne(), UpdateMany(), o ReplaceOne() incluye una instancia de argumento de UpdateOptions con la opción IsUpsert establecida en true y ningún documento coincide con el filtro especificado, entonces la operación crea un nuevo documento y lo inserta. Si hay documentos coincidentes, entonces la operación modifica o reemplaza el documento o los documentos coincidentes.

Para obtener detalles sobre el nuevo documento creado, consulta las páginas de referencia individuales de los métodos.

Si Collection.UpdateOne incluye la opción de inserción establecida en true y ningún documento coincide con el filtro especificado, entonces la operación crea un nuevo documento y lo inserta. Si hay documentos coincidentes, entonces la operación modifica o reemplaza el documento o los documentos coincidentes.

Para obtener detalles sobre el nuevo documento creado, consulta las páginas de referencia individuales de los métodos.

Si los métodos de actualización y reemplazo incluyen el parámetro UpdateOptions que especifica UpdateOptions.upsert(true) y ningún documento coincide con el filtro especificado, entonces la operación crea un nuevo documento y lo inserta. Si hay documentos coincidentes, entonces la operación modifica o reemplaza el documento o los documentos coincidentes.

Para obtener detalles sobre el nuevo documento creado, consulta las páginas de referencia individuales de los métodos.

Si los métodos de actualización y reemplazo incluyen el parámetro com.mongodb.client.model.UpdateOptions que especifica com.mongodb.client.model.UpdateOptions.upsert(true) y si ningún documento coincide con el filtro especificado, entonces la operación crea un nuevo documento y lo inserta. Si hay documentos coincidentes, entonces la operación modifica o reemplaza el documento o los documentos coincidentes.

Para obtener detalles sobre el nuevo documento creado, consulta las páginas de referencia individuales de los métodos.

Si update_one, update_many, o replace_one incluye upsert : true y ningún documento coincide con el filtro especificado, entonces la operación crea un nuevo documento y lo inserta. Si hay documentos coincidentes, entonces la operación modifica o reemplaza el documento o los documentos coincidentes.

Para obtener detalles sobre el nuevo documento creado, consulta las páginas de referencia individuales de los métodos.

Si updateOne(), updateMany(), o replaceOne() incluyen upsert : true en el documento del parámetro options y ningún documento coincide con el filtro especificado, entonces la operación crea un nuevo documento y lo inserta. Si hay documentos coincidentes, entonces la operación modifica o reemplaza el documento o los documentos coincidentes.

Para obtener detalles sobre el nuevo documento creado, consulta las páginas de referencia individuales de los métodos.

Si updateOne(), updateMany() o replaceOne() incluye upsert => true y ningún documento coincide con el filtro especificado, entonces la operación crea un nuevo documento y lo inserta. Si hay documentos que coinciden, la operación modifica o reemplaza dichos documentos.

Para obtener detalles sobre el nuevo documento creado, consulta las páginas de referencia individuales de los métodos.

Si update_one, update_many, o replace_one incluye upsert : true y ningún documento coincide con el filtro especificado, entonces la operación crea un nuevo documento y lo inserta. Si hay documentos coincidentes, entonces la operación modifica o reemplaza el documento o los documentos coincidentes.

Para obtener detalles sobre el nuevo documento creado, consulta las páginas de referencia individuales de los métodos.

Si update_one(), update_many() o replace_one() incluye upsert => true y ningún documento coincide con el filtro especificado, entonces la operación crea un nuevo documento y lo inserta. Si hay documentos coincidentes, entonces la operación modifica o reemplaza el documento o los documentos coincidentes.

Para obtener detalles sobre el nuevo documento creado, consulta las páginas de referencia individuales de los métodos.

Si updateOne(), updateMany() o replaceOne() incluye upsert => true y ningún documento coincide con el filtro especificado, entonces la operación crea un documento nuevo y lo inserta. Si hay documentos coincidentes, entonces la operación modifica o reemplaza el documento o los documentos coincidentes.

Para obtener detalles sobre el nuevo documento creado, consulta las páginas de referencia individuales de los métodos.

Con los niveles de confirmación de escritura (write concern), se puede especificar el nivel de reconocimiento solicitado a MongoDB para las operaciones de escritura. Para obtener más detalles, consultar Nivel de confirmación de escritura.

Tip

Volver

Instantáneas de larga duración

En esta página