Definición
db.runCommand(command, [options])Proporciona un ayudante para ejecutar lo especificado Comandos de base de datos. Este es el método preferido para ejecutar comandos de base de datos, ya que proporciona una interfaz consistente entre el shell y los controladores.
ParameterTipoDescripcióncommanddocumento o cadena
Documento o cadena que especifica el comando. Si se especifica como cadena,
db.runCommand()la transforma en un documento.optionsDocumento
A partir de mongosh 2.0, las opciones que especifican cómo
mongoshejecuta el comando.options.readPreferencePreferencia de lectura para ejecutar el comando. Si no se especifica, el valor predeterminado
primaryes.db.runCommand()ignora cualquier otra configuración global de preferencia de lectura, incluyendo el uso de osetReadPref()la especificaciónreadPreferencede en una cadena de conexión.En mongosh 1.x,
db.runCommand()no acepta el argumentooptions. Para establecer la preferencia de lectura, useMongo.setReadPref()o especifiquereadPreferenceen la cadena de conexión.Para especificar un límite de tiempo en milisegundos, consulte Terminar operaciones en ejecución.
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.runCommand() ejecuta el comando en el contexto de la base de datos actual. Algunos comandos solo son aplicables en el contexto de la admin base de datos, por lo que debe modificar el db objeto antes de ejecutarlos o db.adminCommand() usar.
preferencia de lectura
A partir de mongosh,2.0 se puede especificar la preferencia de lectura de un comando con el argumento "opciones". Si no se especifica una preferencia de lectura, el valor predeterminado dedb.runCommand() primaryes.
Advertencia
En mongosh 2.0, db.runCommand() ignora cualquier otro conjunto de configuración global de preferencia de lectura, incluido el uso de Mongo.setReadPref() o la especificación de readPreference en una cadena de conexión.
En mongosh 1.x, db.runCommand() no toma un argumento options. db.runCommand() utiliza la preferencia de lectura especificada al usar Mongo.setReadPref() o al especificar readPreference en la cadena de conexión.
Ejemplos
Los siguientes ejemplos muestran cómo utilizar db.runCommand() para ejecutar comandos de base de datos.
Comando hello sin preferencia de lectura especificada
Este ejemplo muestra cómo utilizar db.runCommand() para ejecutar el hello comando.
db.runCommand( { hello: 1 } )
Para obtener detalles sobre la salida,consulte hello Salida.
Para obtener detalles sobre el comportamiento de preferencia de lectura, consulte Preferencia de lectura.
Hola Comando con readPreference: secondaryPreferred
Este ejemplo muestra cómo utilizar db.runCommand() para ejecutar el comando hello secondaryPreferred con la preferencia de lectura.
db.runCommand( { hello: 1 }, { readPreference: "secondaryPreferred" } )
Para obtener detalles sobre la salida,consulte hello Salida.
Para obtener detalles sobre el comportamiento de preferencia de lectura, consulte Preferencia de lectura.
Respuesta
El método devuelve un documento de respuesta que contiene los siguientes campos:
Campo | Descripción |
|---|---|
<command result> | Campos de resultado específicos del |
| 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 conjuntos de réplicas y clústeres fragmentados. 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 consistentes, los controladores de MongoDB utilizan el tiempo lógico para establecer automáticamente las operaciones de lectura y el período. |
| Un documento que devuelve la hora firmada del clúster. La hora del clúster es una hora lógica que se utiliza para ordenar las operaciones. Solo para conjuntos de réplicas y clústeres fragmentados. Solo para uso interno. El documento contiene los siguientes campos:
|