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 o generador de escritura masiva ensamblado.
MongoDB\Client::bulkWrite()admitedeleteMany()deleteOne()insertOne()replaceOne()updateMany()operaciones,,,,updateOne()y.$options: arregloUna matriz que especifica las opciones deseadas.
NombreTipoDescripciónsesión
Sesión de cliente para asociar a 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 una preocupación de escritura para operaciones individuales como parte de una transacción. En su lugar, configure la
writeConcernopción al iniciar la transacción.
Return Values
Un MongoDB\BulkWriteCommandResult objeto.
Errores/Excepciones
MongoDB\Exception\UnsupportedException si se utilizan opciones que no son compatibles con el servidor seleccionado (porcollation readConcernwriteConcernejemplo,,,).
MongoDB\Exception\InvalidArgumentException por errores relacionados con el análisis de parámetros u opciones.
MongoDB\Driver\Exception\RuntimeException para otros errores en el 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 una MongoDB\Driver\Exception\BulkWriteCommandException, puede llamar a getWriteErrors() e inspeccionar la información en la matriz devuelta para determinar la naturaleza del error.
Por ejemplo, es posible que una operación de escritura se haya aplicado correctamente al servidor principal, pero no haya solucionado el problema. Alternativamente, es posible que una operación de escritura haya fallado por completo, por ejemplo, por violar la restricción de clave única.
En el caso de una escritura masiva, el resultado podría indicar múltiples operaciones de escritura exitosas o errores. Si la opción ordered es true, es posible que algunas operaciones se hayan realizado correctamente 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