MongoDB\Driver\Manager::executeBulkWriteCommand
En esta página
MongoDB\Driver\Manager::executeBulkWriteCommand
Ejecuta operaciones de escritura utilizando el comando bulkWrite
Descripción#
final public MongoDB\Driver\Manager::executeBulkWriteCommand(MongoDB\Driver\BulkWriteCommand $bulk, [array $options]): MongoDB\Driver\BulkWriteCommandResult
```php
Ejecuta una o varias operaciones de escritura en el servidor primario utilizando el comando [bulkWrite](https://www.mongodb.com/docs/manual/reference/command/bulkWrite) introducido en MongoDB 8.0.
Una `MongoDB\Driver\BulkWriteCommand` puede ser construida con una o varias operaciones de escritura de tipos variados (por ejemplo, inserciones, actualizaciones y eliminaciones). Cada operación de escritura puede apuntar a una colección diferente.
El valor por omisión para la opción `"writeConcern"` será deducido de una transacción activa (indicada por la opción `"session"`), seguida por [la URI de conexión](#mongodb-driver-manager.construct-uri).
## Parámetros
`bulk` (`MongoDB\Driver\BulkWriteCommand`)
Escritura(s) a ejecutar.
`options`
| Opción | Tipo | Descripción |
|----|----|----|
| session | `MongoDB\Driver\Session` | Una sesión a asociar a la operación. |
| writeConcern | `MongoDB\Driver\WriteConcern` | Una preocupación de escritura a aplicar a la operación. |
options
## Valores devueltos
Retorna un `MongoDB\Driver\BulkWriteCommandResult` en caso de éxito.
## Errores/Excepciones
Lanza una
MongoDB\Driver\Exception\InvalidArgumentException
si
bulk
no contiene operaciones de escritura válidas.
Lanza una
MongoDB\Driver\Exception\InvalidArgumentException
si
bulk
ya ha sido ejecutada. Los objetos
MongoDB\Driver\BulkWriteCommand
no pueden ser ejecutados múltiples veces.
Lanza una excepción
MongoDB\Driver\Exception\InvalidArgumentException
si la opción
"session"
se utiliza junto con una preocupación de escritura no reconocida.
Lanza una excepción
MongoDB\Driver\Exception\InvalidArgumentException
en caso de error durante el análisis de un argumento.
Lanza una excepción
MongoDB\Driver\Exception\ConnectionException
si la conexión al servidor falla por una razón distinta a un problema de identificación
Lanza una excepción
MongoDB\Driver\Exception\AuthenticationException
si se requiere una identificación pero falla
Lanza una excepción
MongoDB\Driver\Exception\BulkWriteCommandException
en caso de error de escritura (por ejemplo, fallo de comando, error de escritura o preocupación de escritura)
Lanza
MongoDB\Driver\Exception\RuntimeException
en caso de otro error.
## Ejemplos
Operaciones de escritura mixtas
Las operaciones de escritura mixtas (por ejemplo, inserción, actualización y eliminación) serán enviadas al servidor utilizando una sola comando [bulkWrite](https://www.mongodb.com/docs/manual/reference/command/bulkWrite)
El ejemplo anterior mostrará:
Insertados 3 documento(s)
Actualizados 1 documento(s)
Operación de escritura ordenada que provoca un error
```php
Resultado del ejemplo anterior es similar a:
array(1) {
[3]=>
object(MongoDB\Driver\WriteError)#5 (4) {
["message"]=>
string(78) "E11000 duplicate key error collection: db.coll index: _id_ dup key: { _id: 1 }"
["code"]=>
int(11000)
["index"]=>
int(3)
["info"]=>
object(stdClass)#6 (0) {
}
}
}
Insertados 2 documento(s)
Véase también#
MongoDB\Driver\BulkWriteCommand
MongoDB\Driver\BulkWriteCommandResult
MongoDB\Driver\WriteConcern
MongoDB\Driver\Server::executeBulkWriteCommand