db.adminCommand()
Importante
Método mongosh
Esta página documenta um método mongosh
. Esta não é a documentação para um driver específico de linguagem, como Node.js.
Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.
Definição
db.adminCommand(command)
Fornece um auxiliar para executar comandos de banco de dados especificados no banco de dados do
admin
.ParâmetroTipoDescriçãocommand
documento ou stringUm comando do banco de dados, especificado no formulário documento ou como uma string. Se especificado como uma string, o comando não pode incluir quaisquer argumentos.
Compatibilidade
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 para todos os comandos, consulte Comandos sem suporte.
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
Comportamento
db.adminCommand()
executa comandos no banco de banco de dados admin
independentemente do contexto do banco de dados de dados em que é executado. Os seguintes comandos são equivalentes:
db.getSiblingDB("admin").runCommand(<command>) db.adminCommand(<command>)
Para obter uma lista de comandos de banco de dados administrativos disponíveis, consulte Comandos de administração.
Observação
Para um mongod
ou mongos
executando com authorization
, o usuário autorizado deve ter os privilégios apropriados para executar o comando do banco de dados. Consulte a documentação de referência do comando para obter mais informações sobre os requisitos de segurança.
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:
|
Exemplos
killOp
O exemplo a seguir utiliza o método db.adminCommand()
para executar um comando killOp
para finalizar uma operação com opid 724
. killOp
é um comando administrativo e deve ser executado no banco de dados admin
.
db.adminCommand( { "killOp": 1, "op": 724 } )
Renomear coleção
O exemplo a seguir usa db.adminCommand()
para executar o comando renameCollection
de banco de dados administrativo para renomear a coleção orders
no banco de dados test
para orders-2016
.
db.adminCommand( { renameCollection: "test.orders", to: "test.orders-2016" } )
createUser
O exemplo a seguir utiliza o método db.adminCommand()
para criar um usuário denominado bruce
com a função dbOwner
no banco de dados do admin
.
Dica
Você pode usar o método passwordPrompt()
em conjunto com vários métodos e comandos de gerenciamento de autenticação de usuário para solicitar a senha em vez de especificar a senha diretamente na chamada de método ou comando. No entanto, você ainda pode especificar a senha diretamente como faria com versões anteriores do shell mongo
.
db.adminCommand( { createUser: "bruce", pwd: passwordPrompt(), // or <cleartext password> roles: [ { role: "dbOwner", db: "admin" } ] } )