MongoDB\Driver\Server::executeCommand

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeCommandExecuta um comando de banco de dados neste servidor

Descrição

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

Executa o comando neste servidor.

Este método não aplica nenhuma lógica especial ao comando. Os valores padrão para as opções "readPreference", "readConcern" e "writeConcern" serão inferidos de uma transação ativa (indicada pela opção "session"). Se não houver nenhuma transação ativa, uma preferência de leitura primária será usada para seleção do servidor.

Os valores padrão não serão inferidos do URI de conexão. Os usuários são, portanto, incentivados a usar métodos de comando específicos de leitura e/ou gravação, se possível.

Note: 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.

writeConcern MongoDB\Driver\WriteConcern

Um write concern a ser aplicado à operação.

Warning

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

Registro de Alterações

Versão Descrição
PECL mongodb 1.4.4 MongoDB\Driver\Exception\InvalidArgumentException será lançada se a opção "session" for usada em combinação com uma preocupação de gravação não reconhecida.
PECL mongodb 1.4.0 O terceiro parâmetro agora é um array options. Para compatibilidade com versões anteriores, esse parâmetro ainda aceitará um objeto MongoDB\Driver\ReadPreference.

Notas

Note: É responsabilidade do invocador garantir que o servidor seja capaz de executar a operação de escrita. Por exemplo, executar uma operação de escrita em um servidor secundário (excluindo seu banco de dados "local") falhará.

Veja Também