Nuevo en la versión 2.1.
Definición
Parámetros
$bulk:MongoDB\ClientBulkWriteorTip
Preferir la API ClientBulkWrite
Recomendamos utilizar la clase builder
ClientBulkWritey los métodos para especificar operaciones de escritura en un comando de escritura en bloque en lugar de utilizar la claseBulkWriteCommand.ClientBulkWriteproporciona una API fluida con métodos similares a los métodos CRUD de la claseMongoDB\Collection.Representa el comando ensamblado de guardar masiva o el generador.
MongoDB\Client::bulkWrite()admite operaciones dedeleteMany(),deleteOne(),insertOne(),replaceOne(),updateMany()yupdateOne().$options: arregloUn arreglo que especifica las opciones deseadas.
NombreTipoDescripciónsesión
Sesión de cliente para asociar con la operación.
writeConcern
nivel de confirmación de escritura (write concern) a usar en la operación. Por defecto, se aplica el nivel de confirmación de escritura (write concern) de la colección.
No es posible especificar un nivel de confirmación de escritura (write concern) para operaciones individuales como parte de una transacción. En su lugar, configura la opción
writeConcernal iniciar la transacción.
Return Values
Un objeto MongoDB\BulkWriteCommandResult.
Errores/Excepciones
MongoDB\Exception\UnsupportedException si se usan opciones que no sean compatibles con el servidor seleccionado (p. ej. collation, readConcern, writeConcern).
MongoDB\Exception\InvalidArgumentException por errores relacionados con el análisis de parámetros u opciones.
MongoDB\Driver\Exception\RuntimeException para otros errores a nivel de extensión (por ejemplo, " errores de conexión).
MongoDB\Driver\Exception\BulkWriteCommandException para errores relacionados con la operación de escritura. Puede inspeccionar el valor devuelto por getWriteErrors() para determinar la naturaleza del error.
Comportamiento
Si se lanza un MongoDB\Driver\Exception\BulkWriteCommandException, puedes llamar a getWriteErrors() e inspeccionar la información en el arreglo devuelto para determinar la naturaleza del error.
Por ejemplo, una operación de escritura puede haberse aplicado correctamente en el servidor principal pero fallar al satisfacer el nivel de confirmación de escritura (write concern). Alternativamente, una operación de guardar puede haber fallado completamente, por ejemplo, por violar la restricción de clave única.
En el caso de una escritura por lotes, el resultado puede indicar múltiples operaciones de guardado exitosas y/o errores. Si la opción ordered está true, es posible que algunas operaciones hayan tenido éxito antes de que se encontrara el primer error y se lanzara la excepción. Si la opción ordered es false, es posible que se hayan encontrado múltiples errores.
Ver también
Sección de escritura en lote de clientes de la guía de operaciones de escritura en lote