Importante
Método mongosh
Esta página documenta a mongosh método. Esta no es la documentación para un driver específico de lenguaje, como nodo.js.
Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.
Definición
db.adminCommand(command)Proporciona un asistente para ejecutar lo especificado comandos de base de datos contra la
adminbase de datos.ParameterTipoDescripcióncommandDocumento o string
Un comando de base de datos, especificado en formato de documento o como cadena. Si se especifica como cadena, el comando no puede incluir argumentos.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Nota
Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Comportamiento
db.adminCommand() ejecuta comandos contra la base de datos admin independientemente del contexto de la base de datos en el que se ejecuta. Los siguientes comandos son equivalentes:
db.getSiblingDB("admin").runCommand(<command>) db.adminCommand(<command>)
Para obtener una lista de los comandos de base de datos administrativos disponibles, consulta Comandos de administración.
Nota
Para un mongod o mongos que se ejecute con authorization, el usuario autorizado debe contar con los privilegios apropiados para ejecutar el comando de la base de datos. Consulte la documentación de referencia del comando para obtener más información sobre los requisitos de seguridad.
Respuesta
El método devuelve un documento de respuesta que contiene los siguientes campos:
Campo | Descripción |
|---|---|
<command result> | Campos de resultados específicos para el/la |
| Un número que indica si el comando tuvo éxito ( |
| El tiempo lógico de la operación. MongoDB utiliza el tiempo lógico para ordenar las operaciones. Solo para sets de réplicas y clústeres. Si el comando no genera una entrada en el registro de operaciones (por ejemplo, una operación de lectura), la operación no avanza el reloj lógico. En este caso,
Para las operaciones asociadas con sesiones causalmente coherentes, los drivers de MongoDB utilizan el tiempo lógico para establecer automáticamente el período de Operaciones de lectura y |
| Un documento que devuelve el tiempo de clúster firmado. El tiempo de clúster es un tiempo lógico utilizado para el ordenamiento de las operaciones. Sólo para sets de réplicas y clústeres fragmentados. Sólo para uso interno. El documento contiene los siguientes campos:
|
Ejemplos
killOp
El siguiente ejemplo utiliza el método db.adminCommand() para ejecutar un comando killOp para terminar una operación con opid 724. killOp es un comando administrativo y debe ejecutarse en la base de datos admin.
db.adminCommand( { "killOp": 1, "op": 724 } )
renameCollection
El siguiente ejemplo utiliza db.adminCommand() para ejecutar el comando administrativo de base de datos renameCollection para renombrar la colección orders en la base de datos test a orders-2016.
db.adminCommand( { renameCollection: "test.orders", to: "test.orders-2016" } )
createUser
El siguiente ejemplo utiliza el método para crear un usuario db.adminCommand() llamado bruce con el rol en dbOwner la admin base de datos.
Tip
Puedes usar el método passwordPrompt() en conjunto con varios métodos y comandos de gestión de autenticación de usuarios para solicitar la contraseña en lugar de especificar la contraseña directamente en la llamada al método o comando. Sin embargo, aún puedes especificar la contraseña directamente como lo harías con las versiones anteriores del shell mongo.
db.adminCommand( { createUser: "bruce", pwd: passwordPrompt(), // or <cleartext password> roles: [ { role: "dbOwner", db: "admin" } ] } )