Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

db.runCommand()

Nesta página

  • Definição
  • Compatibilidade
  • Comportamento
  • Exemplos
  • Resposta
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âmetro
Tipo
Descrição
command
documento ou string
Documento ou string que especifica o comando. Se especificado como uma string, db.runCommand() transforma a string em um documento.
options
documento
Iniciando no mongosh 2,0, opções que especificam como o mongosh 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 usar setReadPref() ou especificar readPreference em uma connection string.

No mongosh 1.x, o db.runCommand() não utiliza um argumento do options. Para definir a read preference, utilize Mongo.setReadPref() ou especifique readPreference na connection string.

Para especificar um limite de tempo em milissegundos, consulte Terminar operações em execução.

Esse método está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

Observação

Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

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().

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.

Os seguintes exemplos mostram como utilizar o db.runCommand() para executar comandos do banco de dados.

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.

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.

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, operationTime retorna:

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 afterClusterTime.

$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:

  • clusterTime: timestamp da hora mais alta conhecida do cluster para o membro.

  • signature: um documento que contém o hash da hora do cluster e o ID da chave usada para assinar a hora do cluster.

Voltar

db.rotateCertificates