Executa um comando de banco de dados que lê neste servidor

# MongoDB\Driver\Server::executeReadCommand

(mongodb >=1.4.0)

MongoDB\Driver\Server::executeReadCommand — Executa um comando de banco de dados que lê neste servidor

### Descrição

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

Executa o comando neste servidor, independentemente da opção `"readPreference"`.

Este método aplicará uma lógica específica para comandos de leitura (por exemplo, » distinct). Os valores padrão para as opções `"readPreference"` e `"readConcern"` serão inferidos de uma transação ativa (indicada pela opção `"session"`), seguida pelo URI de conexão.

> Nota: A opção `"readPreference"` não controla o servidor ao qual o driver emite a operação; ela sempre será executada neste objeto servidor. Em vez disso, ela pode ser usada ao emitir a operação para um servidor secundário (de uma conexão de conjunto de réplicas, não autônomas) ou nós mongo para garantir que o driver defina o protocolo de conexão de acordo ou adicione a preferência de leitura à operação, respectivamente.

### Parâmetros

`db` (string)
  O nome do banco de dados no qual executar o comando.
`command` (MongoDB\Driver\Command)
  O comando a ser executado.
`options`

  Opções
  Opção | Tipo | Descrição
  --- | --- | ---
  readConcern | MongoDB\Driver\ReadConcern | Um read concern a ser aplicado à operação. Esta opção está disponível no MongoDB 3.2+ e resultará em uma exceção em tempo de execução se for especificada para uma versão de servidor mais antiga.
  readPreference | MongoDB\Driver\ReadPreference | Uma preferência de leitura a ser usada para selecionar um servidor para a operação.
  session | MongoDB\Driver\Session | Uma sessão para associar à operação.

  Aviso

  Se uma `"session"` que tem uma transação em andamento estiver sendo usada, uma opção `"readConcern"` ou `"writeConcern"` não pode ser especificada. Isso resultará em uma exceção MongoDB\Driver\Exception\InvalidArgumentException sendo lançada. Em vez disso, essas duas opções devem ser definidas ao criar a transação com MongoDB\Driver\Session::startTransaction().

### Valor Retornado

Retorna MongoDB\Driver\Cursor em caso de sucesso.

### Erros/Exceções

- Lança uma exceção MongoDB\Driver\Exception\InvalidArgumentException se a opção `"session"` for usada com uma transação associada em combinação com uma opção `"readConcern"` ou `"writeConcern"`.
- Lança uma exceção MongoDB\Driver\Exception\InvalidArgumentException em caso de erro ao analisar argumentos.
- Lança uma exceção MongoDB\Driver\Exception\ConnectionException se a conexão com o servidor falhar (por outros motivos além da autenticação).
- Lança uma exceção MongoDB\Driver\Exception\AuthenticationException se a autenticação for necessária e falhar.
- Lança uma MongoDB\Driver\Exception\RuntimeException em outros erros (por exemplo, comando inválido).

### Veja Também

- MongoDB\Driver\Command
- MongoDB\Driver\Cursor
- MongoDB\Driver\Server::executeCommand() - Executa um comando de banco de dados neste servidor
- MongoDB\Driver\Server::executeReadWriteCommand() - Executa um comando de banco de dados que lê e grava neste servidor
- MongoDB\Driver\Server::executeWriteCommand() - Executa um comando de banco de dados que grava neste servidor
- MongoDB\Driver\Manager::executeReadCommand() - Executa um comando de banco de dados que faz leitura

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