(mongodb >=1.4.0)
MongoDB\Driver\Server::executeReadWriteCommand — Exécute une commande de base de données qui lit et écrit sur ce serveur
$db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\CursorExécute la commande sur ce serveur.
Cette méthode appliquera une logique spécifique aux commandes de lecture et d'écriture
(par exemple » aggregate).
Les valeurs par défaut pour les options "readConcern" et
"writeConcern" seront déduites d'une transaction active (indiquée par
l'option "session"), suivie de l'
URI de connexion.
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
| 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. |
Si une "session" qui a une transaction
en cours est utilisée, il n'est pas possible de spécifier l'option "readConcern"
ou "writeConcern". Tenter de faire ceci lancera une exception
MongoDB\Driver\Exception\InvalidArgumentException.
À la place, il est recommandé de définir ces deux options lors de la création de la transaction avec
MongoDB\Driver\Session::startTransaction().
Retourne un MongoDB\Driver\Cursor en cas de succès.
"session" est utilisée avec une transaction associée en combinaison avec une option "readConcern" ou "writeConcern"."session" est utilisée conjointement avec une préoccupation d'écriture non reconnue.| Version | Description |
|---|---|
| PECL mongodb 1.4.4 |
Une MongoDB\Driver\Exception\InvalidArgumentException
va être lancée si l'option "session" est utilisée en
combinaison avec un writeConcern non reconnu.
|
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.