# MongoDB\Driver\Server::executeReadCommand

(mongodb >=1.4.0)

MongoDB\Driver\Server::executeReadCommand — Execute a database command that reads on this server

### Beschreibung

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

Executes the command on this server, irrespective of the `"readPreference"` option.

This method will apply logic that is specific to commands that read (e.g. » distinct). Default values for the `"readPreference"` and `"readConcern"` options will be inferred from an active transaction (indicated by the `"session"` option), followed by the connection URI.

> Hinweis: Die Option `"readPreference"` steuert nicht den Server, an den der Treiber die Operation ausgibt; sie wird immer auf diesem Serverobjekt ausgeführt. Stattdessen kann sie verwendet werden, wenn die Operation an einen sekundären Knoten (von einer Replikatsatzverbindung, keinen eigenständigen) oder einen Mongos-Knoten ausgegeben wird, um sicherzustellen, dass der Treiber das Übertragungsprotokoll entsprechend einstellt bzw. die Lesepräferenz zur Operation hinzufügt.

### Parameter-Liste

`db` (string)

  The name of the database on which to execute the command.

`command` (MongoDB\Driver\Command)

  Der auszuführende Befehl.

`options`

  options
  Option | Type | Description
  --- | --- | ---
  readConcern | MongoDB\Driver\ReadConcern | Ein Leseanliegen (Read Concern), das auf den Vorgang angewendet werden soll. Diese Option ist ab MongoDB 3.2 verfügbar. Wenn sie für eine ältere Serverversion angegeben wird, kommt es bei der Ausführung zu einer Exception.
  readPreference | MongoDB\Driver\ReadPreference | Eine Lesepräferenz, die verwendet wird, um einen Server für die Operation auszuwählen.
  session | MongoDB\Driver\Session | Eine Session, die mit dem Vorgang verknüpft werden soll.

  Warnung

  If you are using a `"session"` which has a transaction in progress, you cannot specify a `"readConcern"` or `"writeConcern"` option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

### Rückgabewerte

Gibt bei Erfolg einen MongoDB\Driver\Cursor zurück.

### Fehler/Exceptions

- Wirft eine MongoDB\Driver\Exception\InvalidArgumentException, wenn die Option `"session"` mit einer zugehörigen Transaktion in Kombination mit einer der Optionen `"readConcern"` oder `"writeConcern"` verwendet wird.
- Wirft eine MongoDB\Driver\Exception\InvalidArgumentException, wenn beim Analysieren von Argumenten ein Fehler auftritt.
- Wirft eine MongoDB\Driver\Exception\ConnectionException, wenn der Aufbau einer Verbindung zum Server fehlschlägt (aus einem anderen Grund als der Authentifizierung).
- Wirft eine MongoDB\Driver\Exception\AuthenticationException, wenn eine Authentifizierung erforderlich ist und fehlschlägt.
- Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

### Siehe auch

- MongoDB\Driver\Command
- MongoDB\Driver\Cursor
- MongoDB\Driver\Server::executeCommand() - Execute a database command on this server
- MongoDB\Driver\Server::executeReadWriteCommand() - Execute a database command that reads and writes on this server
- MongoDB\Driver\Server::executeWriteCommand() - Execute a database command that writes on this server
- MongoDB\Driver\Manager::executeReadCommand() - Execute a database command that reads

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open