db.runCommand()
Nesta página
Definição
db.runCommand(command, [options])
Fornece um auxiliar para executar comandos de banco de dados especificados. Esse é o método preferencial para emitir comandos de banco de dados, pois fornece uma interface consistente entre o shell e os drivers.
ParâmetroTipoDescriçãocommand
documento ou stringDocumento ou string que especifica o comando. Se especificado como uma string,db.runCommand()
transforma a string em um documento.options
documentoIniciando no mongosh 2,0, opções que especificam como omongosh
executa o comando.options.readPreference
Read preference segundo a qual executar o comando. Se não for especificado, o padrão será
primary
.db.runCommand()
ignora qualquer outro conjunto de configuração global de preferência de leitura, incluindo usarsetReadPref()
ou especificarreadPreference
em uma connection string.No mongosh 1.x, o
db.runCommand()
não utiliza um argumento dooptions
. Para definir a read preference, utilizeMongo.setReadPref()
ou especifiquereadPreference
na connection string.Para especificar um limite de tempo em milissegundos, consulte Terminar operações em execução.
Comportamento
db.runCommand()
executa o comando no contexto do banco de dados atual. Alguns comandos são aplicáveis somente no contexto do banco de dados admin
e você deve alterar o objeto db
antes de executar esses comandos ou usar db.adminCommand()
.
readPreference
Começando em mongosh 2.0, você pode especificar a preferência de leitura para um comando com o argumento options. Se você não especificar uma preferência de leitura, db.runCommand()
retornará a primary
por padrão.
Aviso
No mongosh 2.0, db.runCommand()
ignora qualquer outra configuração global de read preference definida, incluindo o uso de Mongo.setReadPref()
ou a especificação de readPreference
em uma string de conexão.
No mongosh 1.x, o db.runCommand()
não utiliza um argumento do options
. db.runCommand()
usa a read preference especificada usando Mongo.setReadPref()
ou especificando readPreference
na connection string.
Exemplos
Os seguintes exemplos mostram como utilizar o db.runCommand()
para executar comandos do banco de dados.
hello Comando sem read preference especificada
Este exemplo mostra como utilizar o db.runCommand()
para executar o comando hello
.
db.runCommand( { hello: 1 } )
Para obter detalhes sobre a saída, consulte hello Output.
Para obter detalhes sobre o comportamento da preferência de leitura, consulte preferência de leitura.
hello Comando com readPreference: secondaryPreferred
Este exemplo mostra como usar db.runCommand()
para executar o comando hello
com a preferência de leitura secondaryPreferred
.
db.runCommand( { hello: 1 }, { readPreference: "secondaryPreferred" } )
Para obter detalhes sobre a saída, consulte hello Output.
Para obter detalhes sobre o comportamento da preferência de leitura, consulte preferência de leitura.
Resposta
O método retorna um documento de resposta que contém os seguintes campos:
Campo | Descrição |
---|---|
<command result> | Campos de resultados específicos do command que executou. |
ok | Um número que indica se o comando obteve êxito ( 1 ) ou falhou (0 ). |
operationTime | A hora lógica da operação. O MongoDB usa o tempo lógico para solicitar operações. Somente para conjuntos de réplicas e clusters fragmentados. Se o comando não gerar uma entrada no oplog, por exemplo, uma operação de leitura, a operação não avançará o relógio lógico. Neste caso,
Para operações associadas a sessões causalmente consistentes, os drivers do MongoDB usam o tempo lógico para definir automaticamente as operações de leitura e o período |
$clusterTime | Um documento que retorna a hora do cluster assinado. O tempo de cluster é um tempo lógico usado para ordenar operações. Somente para conjuntos de réplicas e clusters fragmentados. Apenas para uso interno. O documento contém os seguintes campos:
|