# MongoDB\Driver\Server::executeReadCommand

(mongodb >=1.4.0)

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

### Descripción

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

Executes the command on this server.

This method will apply logic that is specific to commands that read (e.g. » count) and take the MongoDB server version into account. The `"readConcern"` option will default to the corresponding value from the MongoDB Connection URI.

> Nota: La opción `"readPreference"` no controla el servidor al cual el controlador emite la opración; siempre se ejecutará en este objeto de servidor. En su lugar, podría usarse al emitir una operación a un secundario (desde una conexión de cojunto réplica, no solo) o a un nodo de mongo para asegurarse de que el controlador establece el protocolo de escritura en consecuencia, o añade la preferencia de lectura a la operación, respectivamente.

### Parámetros

`db` (string)

  El nombre de la base de datos en la que ejecutar el comando.

`command` (MongoDB\Driver\Command)

  El comando a ejecutar.

`options`

  options
  Option | Type | Description
  --- | --- | ---
  readConcern | MongoDB\Driver\ReadConcern | Un asunto de escritura a aplicar a la operación. Esta opción está disponible en MongoDB 3.2+ y resultará en una excepción en tiempo de ejecución si es especificada para una versión de servidor más antigua.
  readPreference | MongoDB\Driver\ReadPreference | Una preferencia de lectura a usar para seleccionar un servidor para la operación.
  session | MongoDB\Driver\Session | Una sesión a asociar con la operación.

  Advertencia

  Si se usa la opción `"session"` con sesión que tenga una transacción en progreso, no se puede especificar una opción `"readConcern"` o `"writeConcern"`. Esto resultarña en una MongoDB\Driver\Exception\InvalidArgumentException. En su lugar se debería establecer estas dos opciones al crear la transacción con MongoDB\Driver\Session::startTransaction().

### Valores devueltos

Devuelve un MongoDB\Driver\Cursor en caso de éxito.

### Errores/Excepciones

- Lanza una MongoDB\Driver\Exception\InvalidArgumentException si la opción `"session"` se usa con una transacción asociada junto a la opción `"readConcern"` o `"writeConcern"` option.
- Lanza una MongoDB\Driver\Exception\InvalidArgumentException en errores de análisis de argumentos.
- Lanza una MongoDB\Driver\Exception\ConnectionException si la conexión al servidor falla (por razones diferentes a la autenticación).
- Lanza una MongoDB\Driver\Exception\AuthenticationException si la autenticación es necesaria y falla.
- Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

### Ver también

- 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