MongoDB\Driver\Server::executeWriteCommand

(mongodb >=1.4.0)

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

Description

final public function MongoDB\Driver\Server::executeWriteCommand(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 qui écrivent (par exemple » drop). La valeur par défaut pour l'option "writeConcern" sera déduite d'une transaction active (indiquée par l'option "session"), suivie de l' URI de connexion.

Note:

Cette méthode n'est pas destinée à être utilisée pour exécuter » insert, » update, ou » delete commandes. Les utilisateurs sont encouragés à utiliser MongoDB\Driver\Server::executeBulkWrite() pour ces opérations.

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
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