Crea un nuevo BulkWriteCommand

# MongoDB\Driver\BulkWriteCommand::__construct

(mongodb >=2.1.0)

MongoDB\Driver\BulkWriteCommand::__construct — Crea un nuevo BulkWriteCommand

### Descripción

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

Construye un nuevo MongoDB\Driver\BulkWriteCommand, que puede usarse para realizar muchas operaciones de inserción, actualización y eliminación en múltiples colecciones en una sola petición usando 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 añadir todas las operaciones de escritura, este objeto puede ejecutarse con MongoDB\Driver\Manager::executeBulkWriteCommand().

### Parámetros

`options` (array)

  options
  Opción | Tipo | Descripción | Valor por omisión
  --- | --- | --- | ---
  bypassDocumentValidation | bool | Si es `true`, permite que las operaciones de inserción y actualización eviten 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 de currentOp y los registros.
  let | array|object | Diccionario de nombres y valores de parámetros. Los valores deben ser constantes o expresiones cerradas que no hagan referencia a campos del documento. Los parámetros pueden ser accedidos luego como variables en un contexto de expresión agregada (por ejemplo `$$var`). Esta opción está disponible en MongoDB 5.0+ y resultará en una excepción en tiempo de ejecución si es especificada para una versión anterior del servidor.
  ordered | bool | Si las operaciones en esta escritura masiva deben ejecutarse en el orden en que fueron especificadas. Si es `false`, las escrituras continuarán ejecutándose si una escritura individual falla. Si es `true`, las escrituras se detendrán si una escritura individual falla. | `true`
  verboseResults | bool | Si los resultados detallados de cada operación exitosa deben incluirse en el MongoDB\Driver\BulkWriteCommandResult devuelto. | `false`

### Errores/Excepciones

- Lanza una excepción MongoDB\Driver\InvalidArgumentException en caso de error durante el análisis de un argumento.

### Ejemplos

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

    <?php

    $manager = new MongoDB\Driver\Manager;

    $bulk = new MongoDB\Driver\BulkWriteCommand;

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

    // Insertar documentos en dos colecciones
    $bulk->insertOne('db.coll_one', ['_id' => 1]);
    $bulk->insertOne('db.coll_two', ['_id' => 2]);
    $bulk->insertOne('db.coll_two', ['_id' => 3]);

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

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

    printf("Insertados %d documento(s)\n", $result->getInsertedCount());
    printf("Actualizados %d documento(s)\n", $result->getModifiedCount());

    ?>

El ejemplo anterior mostrará:

    Insertados 3 documento(s)
    Actualizados 1 documento(s)

### Ver también

- MongoDB\Driver\Manager::executeBulkWriteCommand() - Ejecuta operaciones de escritura utilizando el comando bulkWrite
- MongoDB\Driver\BulkWriteCommandResult

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open