Nuevo en la versión 2.1.
Definición
Parámetros
$bulk:MongoDB\ClientBulkWriteorTip
Preferir la API ClientBulkWrite
Recomendamos utilizar la
ClientBulkWriteBulkWriteCommandclase constructora y los métodos para especificar operaciones de escritura en un comando de escritura masiva en lugar de utilizar la clase.ClientBulkWriteproporciona una API fluida con métodos similares a los métodos CRUD de laMongoDB\Collectionclase.Representa el comando o generador de escritura masiva ensamblado.
MongoDB\Client::bulkWrite()admitedeleteMany()deleteOne()insertOne()replaceOne()updateMany()operaciones,,,,updateOne()y.$options: matrizUna matriz que especifica las opciones deseadas.
NombreTipoDescripciónsesión
Sesión de cliente para asociar a la operación.
writeConcern
Escriba la preocupación que se usará para la operación. El valor predeterminado es la preocupación de escritura 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 para 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.