Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

db.runCommand() (método mongosh)

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: The fully managed service for MongoDB deployments in the cloud

Observação

This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.

  • 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() runs the command in the context of the current database. Some commands are only applicable in the context of the admin database, and you must change your db object before running these commands or use db.adminCommand().

Starting in mongosh 2.0, you can specify the read preference for a command with the options argument. If you do not specify a read preference, db.runCommand() defaults to primary.

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.

For details on read preference behavior, see Read Preference.

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.

For details on read preference behavior, see Read Preference.

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.