MongoDB\Driver\Server::executeReadWriteCommand

(mongodb >=1.4.0)

MongoDB\Driver\Server::executeReadWriteCommand — Exécute une commande de base de données qui lit et écrit sur ce serveur

Description

final public function MongoDB\Driver\Server::executeReadWriteCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor

Exé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.

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 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().

Valeurs de retour

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

Erreurs / Exceptions

Historique

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.

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