MongoDB\Driver\Server::executeCommand
(mongodb >=1.0.0)
MongoDB\Driver\Server::executeCommand — Executa um comando de banco de dados neste servidor
Descrição
$db
, MongoDB\Driver\Command $command
, array|MongoDB\Driver\ReadPreference|null $options
= null
): MongoDB\Driver\CursorExecuta 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.
WarningSe 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 se a opção
"session"
for usada em combinação com um write concern não confirmado. - 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, emissão de um comando de gravação para um secundário).
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
- MongoDB\Driver\Command
- MongoDB\Driver\Cursor
- MongoDB\Driver\Server::executeReadCommand() - Executa um comando de banco de dados que lê 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::executeCommand() - Executa um comando de banco de dados