# MongoDB\Driver\Server::executeBulkWrite

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeBulkWrite — Exécute une ou plusieurs opérations d'écriture sur ce serveur

### Description

final public MongoDB\Driver\Server::executeBulkWrite(string `$namespace`, MongoDB\Driver\BulkWrite `$bulk`, ?array `$options` = `null`): MongoDB\Driver\WriteResult

Exécute une ou plusieurs opérations en écriture sur ce serveur.

Un objet MongoDB\Driver\BulkWrite peut être construit avec une ou plusieurs opérations de types différents (i.e. mise à jour, suppression, et insertion). Le driver va tenter d'envoyer les opérations de même type au serveur en un minimum de requête possible afin d'optimiser les aller/retour.

La valeur par défaut pour l'option `"writeConcern"` sera déduite d'une transaction active (indiquée par l'option `"session"`), puis par le URI de connexion.

### Liste de paramètres

`namespace` (string)

  Un espace de noms totalement qualifié (e.g. `"databaseName.collectionName"`)

`bulk` (MongoDB\Driver\BulkWrite)

  Écriture(s) à exécuter.

`options`

  options
  Option | Type | Description
  --- | --- | ---
  session | MongoDB\Driver\Session | Une session à associer à l'opération.
  writeConcern | MongoDB\Driver\WriteConcern | Une préoccupation d'écriture à appliquer à l'opération.

### Valeurs de retour

Retourne un MongoDB\Driver\WriteResult en cas de succès.

### Erreurs / Exceptions

- Lance une exception MongoDB\Driver\Exception\InvalidArgumentException si `bulk` ne contient aucune opération d'écriture.
- Lance une exception MongoDB\Driver\Exception\InvalidArgumentException si `bulk` a déjà été exécuté. Les objets MongoDB\Driver\BulkWrite ne peuvent pas être exécutés plusieurs fois.
- Lance une exception MongoDB\Driver\Exception\InvalidArgumentException si l'option `"session"` est utilisée conjointement avec une préoccupation d'écriture non reconnu.
- Lance une exception MongoDB\Driver\AuthenticationException si une identification est nécessaire mais qu'elle échoue
- Lance une exception MongoDB\Driver\ConnectionException si la connexion au serveur échoue pour une autre raison qu'en raison d'un problème d'identification
- Lance une exception MongoDB\Driver\BulkWriteException lors d'une erreur d'une opération en écriture (une erreur WriteError et WriteConcern)
- Lance une exception MongoDB\Driver\Exception\RuntimeException si une erreur survient.

### Historique

Version | Description
--- | ---
PECL mongodb 2.0.0 | Le paramètre `options` n'accepte désormais plus d'instance MongoDB\Driver\WriteConcern.
PECL mongodb 1.21.0 | Passer un objet MongoDB\Driver\WriteConcern en tant qu'`options` est obsolète et sera supprimé dans la 2.0.
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException sera lancé si l'option `"session"` est utilisée conjointement avec une préoccupation d'écriture non reconnu.
PECL mongodb 1.4.0 | Le troisième paramètre est maintenant un tableau d'`options`. Pour la compatibilité ascendante, ce paramateur acceptera toujours un objet MongoDB\Driver\WriteConcern.
PECL mongodb 1.3.0 | MongoDBDriverExceptionInvalidArgumentException est maintenant levé si `Bulk` ne contient pas d'opérations d'écriture. Auparavant, une MongoDB\Driver\Exception\BulkWriteException était levée.

### Notes

> Note: Il est de la responsabilité de l'appelant de s'assurer que le serveur est capable d'exécuter l'opération d'écriture. Par exemple, l'exécution d'une opération d'écriture sur un secondaire (à l'exclusion de sa base de données "local") échouera.

### Voir aussi

- MongoDB\Driver\BulkWrite
- MongoDB\Driver\WriteResult
- MongoDB\Driver\WriteConcern
- MongoDB\Driver\Manager::executeBulkWrite() - Exécute une ou plusieurs opérations d'écriture