Docs Menu
Docs Home
/ /

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

Tip

MongoDB también proporciona la Mongo.bulkWrite() Método para realizar operaciones de escritura 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 para especificar la condición que determina qué documento Bulk.find() actualizar. Bulk.find.updateOne() El método limita la actualización a un solo documento. Para actualizar varios documentos,Bulk.find.update() consulte.

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 reemplazo

Contiene solo 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 actualización, consulte la página de db.collection.updateOne() referencia.

La suma del <query> documento asociado de y el documento de actualización debe ser menor o igual al tamaño Bulk.find()máximo del 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 operador de actualización, como en:

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

Luego, actualiza solo los camposBulk.find.updateOne() correspondientes, status pointsy, en el documento.

El siguiente ejemplo inicializa un generador de operaciones Bulk() para items la colección y agrega varias updateOne() operaciones 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 canalización 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ónNOW, que se resuelve en la fecha y hora actual, puede tener un comportamiento similar al de una expresión de operador de actualización$currentDate. Para acceder a las variables de agregación, anteponga el signo de dólar doble $$ a la variable y enciérrela entre comillas.

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

Volver

Búsqueda masiva.reemplazar uno

En esta página