PHP 8.5.0 Alpha 1 available for testing

MongoDB\Driver\BulkWriteCommand::__construct

(mongodb >=2.1.0)

MongoDB\Driver\BulkWriteCommand::__constructCrear una nueva BulkWriteCommand

Descripción

public MongoDB\Driver\BulkWriteCommand::__construct(?array $options = null)

Construye una nueva MongoDB\Driver\BulkWriteCommand, que puede ser utilizada para realizar múltiples operaciones de inserción, actualización y eliminación en varias colecciones en una sola petición utilizando el comando » bulkWrite introducido en MongoDB 8.0. Esto difiere de MongoDB\Driver\BulkWrite, que es compatible con todas las versiones del servidor pero limitado a una sola colección.

Después de que todas las operaciones de escritura hayan sido añadidas, este objeto puede ser ejecutado con MongoDB\Driver\Manager::executeBulkWriteCommand().

Parámetros

options (array)

options
Opción Tipo Descripción Por omisión
bypassDocumentValidation bool

Si true, permite que las operaciones de inserción y actualización omitan la validación a nivel de documento.

false
comment mixed

Un comentario arbitrario para ayudar a rastrear la operación a través del perfilador de la base de datos, la salida currentOp y los registros.

let array|object

Map of parameter names and values. Values must be constant or closed expressions that do not reference document fields. Parameters can then be accessed as variables in an aggregate expression context (e.g. $$var).

This option is available in MongoDB 5.0+ and will result in an exception at execution time if specified for an older server version.

ordered bool

Si las operaciones en esta escritura masiva deben ser ejecutadas en el orden en que fueron especificadas. Si false, las escrituras continuarán siendo ejecutadas si una escritura individual falla. Si true, las escrituras se detendrán si una escritura individual falla.

true
verboseResults bool

Si los detalles de los resultados de cada operación exitosa deben ser incluidos en el resultado en la MongoDB\Driver\BulkWriteCommandResult retornada.

false

Errores/Excepciones

Ejemplos

Ejemplo #1 Ejemplo de MongoDB\Driver\BulkWriteCommand::__construct()

<?php

$manager
= new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWriteCommand;

// Elimina los documentos de dos colecciones
$bulk->deleteMany('db.coll_one', []);
$bulk->deleteMany('db.coll_two', []);

// Añade los documentos a dos colecciones
$bulk->insertOne('db.coll_one', ['_id' => 1]);
$bulk->insertOne('db.coll_two', ['_id' => 2]);
$bulk->insertOne('db.coll_two', ['_id' => 3]);

// Modifica un documento en "coll_one"
$bulk->updateOne('db.coll_one', ['_id' => 1], ['$set' => ['x' => 1]]);

$result = $manager->executeBulkWriteCommand($bulk);

printf("%d documento(s) han sido insertado(s)\n", $result->getInsertedCount());
printf("%d documento(s) han sido actualizado(s)\n", $result->getModifiedCount());

?>

El resultado del ejemplo sería:

3 documento(s) han sido insertado(s)
1 documento(s) han sido actualizado(s)

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top