MongoDB\Driver\Server::executeCommand

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeCommandExécute une commande de base de données sur ce serveur

Description

final public MongoDB\Driver\Server::executeCommand(string $db, MongoDB\Driver\Command $command, array|MongoDB\Driver\ReadPreference|null $options = null): MongoDB\Driver\Cursor

Exécute une commande sur ce serveur.

Cette méthode n'applique aucune logique spéciale à la commande. Les valeurs par défaut pour les options "readPreference", "readConcern", et "writeConcern" seront déduites d'une transaction active (indiquée par l'option "session"). S'il n'y a pas de transaction active, une préférence de lecture primaire sera utilisée pour la sélection du serveur.

Les valeurs par défaut ne seront pas déduites de l'URI de connexion. Il est donc recommandé aux utilisateurs d'utiliser des méthodes de commande de lecture et/ou d'écriture spécifiques si possible.

Note: L'option readPreference ne contrôle pas le serveur vers lequel le pilote émet l'opération; il sera toujours exécuté sur cet objet serveur. Au lieu de cela, il peut être utilisé lors de l'émission de l'opération à un secondaire (à partir d'une connexion de jeu de répliques, pas autonome) ou le nœud Mongos pour s'assurer que le pilote définit le protocole de fil en conséquence ou ajoute la préférence de lecture à l'opération, respectivement.

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.

readPreference MongoDB\Driver\ReadPreference

Une préférence de lecture à utiliser pour sélectionner un serveur pour l'opération.

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
  • Lance une exception MongoDB\Driver\Exception\RuntimeException si une erreur survient (i.e. commande invalide, l'envoi d'une commande en écriture sur un secondaire).

Historique

Version Description
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\ReadPreference.

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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top