Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Bulk.find.updateOne() (método mongosh)

Tip

MongoDB también proporciona el método db.collection.bulkWrite() para realizar operaciones de guardar masiva.

Bulk.find.updateOne(<update>)

Agrega una sola operación de actualización de documento a una lista de operaciones masivas.

Utilice el método Bulk.find() para especificar la condición que determina qué documento debe actualizar. El método Bulk.find.updateOne() limita la actualización a un solo documento. Para actualizar varios documentos, consulte Bulk.find.update().

Bulk.find.updateOne() acepta el siguiente parámetro:

Parameter
Tipo
Descripción

documento o pipeline

Las modificaciones que se deben aplicar puede ser una de las siguientes:

Un documento de sustitución

Contiene únicamente pares de campo y valor.

Consulte también Bulk.find.replaceOne().

Update document

Aggregation Pipeline

Contiene únicamente las siguientes etapas de agregación:

Para obtener más información sobre el parámetro de modificación de actualizar, consulta la página de referencia db.collection.updateOne().

La suma del documento <query> asociado del Bulk.find() y el documento actualizado debe ser inferior o igual al tamaño máximo de documento BSON.

Este comando está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

Nota

Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte Comandos no compatibles.

Si el <update> documento contiene solo expresiones de operadores de actualizar, como en:

{
$set: { status: "D" },
$inc: { points: 2 }
}

Luego, Bulk.find.updateOne() actualiza únicamente los campos correspondientes, status y points, en el documento.

El siguiente ejemplo inicializa un constructor de operaciones de Bulk() para la colección items, y añade diversas operaciones de updateOne() a la lista de operaciones.

var bulk = db.items.initializeUnorderedBulkOp();
bulk.find( { status: "D" } ).updateOne( { $set: { status: "I", points: "0" } } );
bulk.execute();

Los métodos de actualización pueden aceptar una pipeline de agregación. Por ejemplo, los siguientes usos:

  • la etapa $set que puede proporcionar un comportamiento similar a la expresión del operador de actualización $set,

  • la variable de agregación NOW, que se resuelve en la fecha y hora actual y puede ofrecer un comportamiento similar a una $currentDate expresión del operador de actualización. Para acceder a las variables de agregación, antepón double dollar signs $$ a la variable y enciérrala entre comillas.

var bulk = db.items.initializeUnorderedBulkOp();
bulk.find( { status: "P" } ).updateOne(
[
{ $set: { points: 0, lastModified: "$$NOW" } }
]
);
bulk.execute();