Importante
Método mongosh
Esto es un mongosh método. Esto no es la documentación de Node.js u otros métodos específicos del controlador de lenguaje de programación.
En la mayoría de los casos, los métodos mongosh funcionan de la misma manera que los métodos tradicionales mongo Métodos de shell. Sin embargo, algunos métodos heredados no están disponibles mongosh en.
Para la documentación heredada de mongo shell, revisa la documentación de la versión correspondiente de MongoDB Server:
Para los controladores de la API de MongoDB, consultar la documentación específica del controlador de MongoDB para cada lenguaje.
Definición
db.adminCommand(command)Proporciona un ayudante para ejecutar comandos de base de datos específicos 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 realizada, representado en MongoDB por la marca de tiempo de la entrada del registro de operaciones (oplog). 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 Novedades en la versión 3.6. |
| 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:
Novedades en la versión 3.6. |
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
Puede usar el método passwordPrompt() en conjunto con diversos métodos/comandos de autenticación/gestión de usuarios para solicitar la contraseña en lugar de especificarla directamente en la llamada del método/comando. Sin embargo, aún puedes especificar la contraseña directamente como lo harías con versiones anteriores del shell mongo.
db.adminCommand( { createUser: "bruce", pwd: passwordPrompt(), // or <cleartext password> roles: [ { role: "dbOwner", db: "admin" } ] } )