db.adminCommand()
Nesta página
Importante
Método mongosh
Este é um método mongosh
. Esta não é a documentação de Node.js
ou de outros métodos de driver específicos da linguagem de programação.
Na maioria dos casos, os métodos mongosh
funcionam da mesma forma que os métodos legado do shell mongo
. No entanto, alguns métodos legado não estão disponíveis em mongosh
.
Para a documentação do shell legado mongo
, consulte a documentação para a release correspondente do MongoDB Server:
Para drivers da API do MongoDB, consulte a documentação do driver do MongoDB específica do idioma.
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.
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 executada, representada no MongoDB pelo carimbo de data/hora da entrada do oplog. 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 Novidade na versão 3.6. |
$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:
Novidade na versão 3.6. |
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/comandos de autenticação/gerenciamento de usuário para solicitar a senha em vez de especificar a senha diretamente na chamada de método/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" } ] } )