Execute a database command that reads and writes on this server

# MongoDB\Driver\Server::executeReadWriteCommand

(mongodb >=1.4.0)

MongoDB\Driver\Server::executeReadWriteCommand — Execute a database command that reads and writes on this server

### Description

final public MongoDB\Driver\Server::executeReadWriteCommand ( string `$db` , MongoDB\Driver\Command `$command` [, array `$options` = array() ] ) : MongoDB\Driver\Cursor

Executes the command on this server.

This method will apply logic that is specific to commands that read and write (e.g. » findAndModify) and take the MongoDB server version into account. The "readConcern" and "writeConcern" options will default to the corresponding values from the MongoDB Connection URI.

### Liste de paramètres

`db` (string)

  Le nom de la base de données sur laquelle la commande sera exécutée.

`command` (MongoDB\Driver\Command)

  La commande à exécuter.

`options`

  options
  Option | Type | Description
  --- | --- | ---
  readConcern | MongoDB\Driver\ReadConcern | Une préoccupation de lecture à appliquer à l'opération. Cette option est disponible dans MongoDB 3.2+ et se traduira par une exception au moment de l'exécution si elle est spécifiée pour une version plus ancienne du serveur.
  session | MongoDB\Driver\Session | Une session à associer à l'opération.
  writeConcern | MongoDB\Driver\WriteConcern | Une préoccupation d'écriture à appliquer à l'opération.

  Avertissement

  Si vous utilisez une "session" qui a une transaction en cours, vous ne pouvez pas spécifier l'option "readConcern" ou "writeConcern". Tenter de faire ceci lancera une exception MongoDB\Driver\Exception\InvalidArgumentException. À la place vous devriez définir ces options quand vous créez la transaction avec MongoDB\Driver\Session::startTransaction().

### Valeurs de retour

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

### Erreurs / Exceptions

- Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
- 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
- Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

### Historique

Version | Description
--- | ---
1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.

### 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\Command
- MongoDB\Driver\Cursor
- MongoDB\Driver\Server::executeCommand() - Exécute une commande de base de données sur ce serveur
- MongoDB\Driver\Server::executeReadCommand() - Execute a database command that reads on this server
- MongoDB\Driver\Server::executeWriteCommand() - Execute a database command that writes on this server
- MongoDB\Driver\Manager::executeReadWriteCommand() - Execute a database command that reads and writes