Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

opciones

Utilice las siguientes opciones para ver y controlar diversos aspectos de su MongoDB Shell.

--build-info

Devuelve un documento en formato JSON con información sobre la compilación mongosh y las dependencias del driver.

Ejemplo: Ver información de compilación

Se puede verificar la información de compilación y las dependencias de los drivers del binario mongosh ejecutando el siguiente comando desde el terminal:

mongosh --build-info

Este comando devuelve el siguiente documento en formato JSON:

{
version: '1.10.1',
distributionKind: 'packaged',
buildArch: 'x64',
buildPlatform: 'linux',
buildTarget: 'unknown',
buildTime: '2023-06-21T09:49:37.225Z',
gitVersion: '05ad91b4dd40382a13f27abe1ae8c3f9f52a38f7',
nodeVersion: 'v16.20.1',
opensslVersion: '3.1.1',
sharedOpenssl: true,
runtimeArch: 'x64',
runtimePlatform: 'darwin',
deps: {
nodeDriverVersion: '5.6.0'
}
}
--eval <javascript>

Evalúa una expresión de JavaScript. Puedes usar un único argumento --eval o múltiples argumentos --eval juntos.

Después de que mongosh evalúa el argumento --eval, imprime los resultados en la línea de comandos. Si se usan varias instrucciones --eval, mongosh solo imprime los resultados de la última --eval.

Puedes usar la --json bandera con --eval para devolver mongosh resultados en formato JSON extendido. mongosh --json=canonical --json=relaxed admite los modos y. Si omites el modo, mongosh usa por defecto el canonical modo. La --json bandera es mutuamente excluyente --shell con.

Ejemplo: Formato de salida

Para obtener una salida adecuada para el análisis automatizado, utiliza EJSON.stringify().

mongosh --quiet --host rs0/centos1104 --port 27500 \
--eval "EJSON.stringify(rs.status().members.map( \
m => ({'id':m._id, 'name':m.name, 'stateStr':m.stateStr})));" \
| jq

Después de analizar con jq, el resultado se asemeja a esto:

[
{
"id": 0,
"name": "centos1104:27500",
"stateStr": "PRIMARY"
},
{
"id": 1,
"name": "centos1104:27502",
"stateStr": "SECONDARY"
},
{
"id": 2,
"name": "centos1104:27503",
"stateStr": "SECONDARY"
}
]

Nota

EJSON tiene opciones de formato con funcionalidad incorporada que pueden eliminar la necesidad de un analizador como jq. Por ejemplo, el siguiente código produce una salida que tiene el mismo formato que la anterior.

mongosh --quiet --host rs0/centos1104 --port 27500 \
--eval "EJSON.stringify( rs.status().members.map( \
({ _id, name, stateStr }) => ({ _id, name, stateStr })), null, 2);"

Ejemplo: Múltiples argumentos --eval

Para obtener una lista de colecciones en el moviesDatabase, utiliza varias instrucciones --eval:

mongosh --quiet \
--eval 'use moviesDatabase' \
--eval 'show collections' \
mongodb://localhost/

Ejemplo: opción --json

Para devolver estadísticas sobre una colección en formato JSON extendido utilizando varias instrucciones --eval:

mongosh --quiet --json=relaxed \
--eval 'use <database-name>' \
--eval 'db.<collection>.stats()' \
mongodb://localhost/
--file, -f <javascript>

Ejecuta un script desde la línea de comandos sin entrar en la consola de MongoDB Shell.

Para obtener más detalles y un ejemplo, consulta Ejecutar un script desde la línea de comandos.

--help, -h

Devuelve información sobre las opciones y el uso del MongoDB Shell.

--nodb

Impide que el shell se conecte a cualquier instancia de base de datos.

--no-quiet

Deshabilita el --quiet modo de opción predeterminado para sesiones de shell no interactivas. Cuando se especifica, mongosh muestra todos los mensajes durante el inicio.

--norc

Impide que el shell cargue y evalúe ~/.mongoshrc.js al iniciar.

--norc También impide que el intérprete de comandos cargue los fragmentos de código que hayas instalado con el snippet install comando. En su lugar, puedes cargarlos con el snippet load-all comando. Consulta la sección Comandos de fragmentos de código para obtener más información.

--quiet

Omite todos los mensajes durante el inicio (como los mensajes de bienvenida y las advertencias de inicio) y va directamente al prompt.

Para sesiones de shell no interactivas, MongoDB habilita --quiet de forma predeterminada. Puede deshabilitar este comportamiento --no-quiet usando.

--skipStartupWarnings

Impide mongosh que muestre advertencias de inicio del servidor al crear una sesión. Para suprimir todos los mensajes de inicio, utilice la --quiet opción.

--shell

Habilita la interfaz de línea de comandos. Si invoca el comandomongoshy especifica un archivo JavaScript como argumento, o utiliza--evalpara especificar JavaScript en la línea de comandos, la opción--shellproporciona al usuario un indicador de línea de comandos una vez finalizada la ejecución del archivo. La opción --shell es mutuamente excluyente con --json.

--verbose

Incrementa el nivel de verbosidad de la salida del shell durante el proceso de conexión y al ejecutar comandos.

--version

Devuelve el número de versión de MongoDB Shell.

--apiVersion <version number>

Especifica la "1" versión de la API. Actualmente, es el único valor admitido.

--apiStrict

Especifica que el servidor responderá con APIStrictError si la aplicación utiliza un comando o comportamiento fuera de la Stable API.

Si especifica, también --apiStrict debe --apiVersion especificar.

--apiDeprecationErrors

Especifica que el servidor responderá con APIDeprecationError si su aplicación utiliza un comando o comportamiento que está obsoleto en el apiVersion especificado.

Si especifica, también --apiDeprecationErrors debe --apiVersion especificar.

--host <hostname>

Especifica el nombre de la máquina host donde mongod mongos se ejecuta o. Si no se especifica, la consola de MongoDB intenta conectarse a un proceso de MongoDB que se ejecuta en el host local.

Para conectarte a un set de réplicas,

Especifique los y una lista semilla de miembros del conjunto. Utilice el siguiente replica set name formato:

<replSetName>/<hostname1><:port>,<hostname2><:port>,<...>
Para conexiones TLS/SSL (--tls),
El intérprete de comandos de MongoDB verifica que el nombre de host (especificado en la --host opción o en la cadena de conexión) coincida con el SAN (o, si SAN el no está presente, con CN el) del certificado presentado por el mongod o el. Si mongos el SAN está presente, el intérprete de comandos de MongoDB no lo compara CN con el. Si el nombre de host no coincide con el SAN (o CN el), el intérprete de comandos de MongoDB no logra conectarse.
Para las conexiones de la lista de nodos iniciales de DNS,

Especifica el protocolo de conexión como mongodb+srv, seguido del registro de nombre de host DNS SRV y de cualquier opción. Las opciones authSource y replicaSet, si se incluyen en la cadena de conexión, anulan cualquier opción configurada por DNS correspondiente en el registro TXT. El uso de la cadena de conexión mongodb+srv: activa implícitamente TLS (normalmente configurado con tls=true) para la conexión del cliente. La opción TLS se puede desactivar configurando tls=false en la string del query.

Ejemplo

mongodb+srv://server.example.com/?connectionTimeoutMS=3000
--port <port>

Especifica el puerto donde la mongod instancia o está escuchando. Si no mongos --port se 27017 especifica, MongoDB Shell intenta conectarse al puerto.

--tls

Permite la conexión a un mongod o a un mongos que tenga habilitado el soporte de TLS.

Para aprender más sobre TLS/SSL y MongoDB, consulta:

--tlsCertificateKeyFile <filename>

Especifica el archivo .pem que contiene tanto el certificado TLS como la clave para mongosh. Especifique el nombre del archivo .pem mediante rutas relativas o absolutas.

Esta opción es necesaria al usar la opción para --tls conectarse a una instancia mongod o mongos que requiere certificados de cliente. Es decir, la consola de MongoDB presenta este certificado al servidor.

Nota

A partir de la 4.4 versión, mongod / registra una advertencia en la conexión si mongos el509 certificado X. presentado caduca dentro 30 de los días de la mongod/mongos hora del sistema host.

Para aprender más sobre TLS/SSL y MongoDB, consulta:

--tlsCertificateKeyFilePassword <value>

Especifica la contraseña para descifrar el archivo de clave de certificado (es--tlsCertificateKeyFile decir,).

Utilice la opción únicamente si el archivo de clave de certificado está cifrado. En todos los casos, la consola de MongoDB oculta la contraseña en todos los registros e informes.--tlsCertificateKeyFilePassword

Si la clave privada en el archivo PEM está cifrada y no especifica la opción, la consola de MongoDB le pedirá una frase de --tlsCertificateKeyFilePassword contraseña.

Consultar la frase de contraseña del certificado TLS/SSL.

Para aprender más sobre TLS/SSL y MongoDB, consulta:

--tlsCAFile <filename>

Especifica el .pem archivo que contiene la cadena de certificados raíz de la Autoridad de Certificación. Este archivo se utiliza para validar el certificado presentado por la instancia mongod mongos /.

Especifica el nombre del archivo .pem utilizando rutas relativas o absolutas.

Para aprender más sobre TLS/SSL y MongoDB, consulta:

--tlsCRLFile <filename>

Especifica el archivo .pem que contiene la Lista de revocación de certificados. Especifica el nombre del archivo .pem con rutas relativas o absolutas.

Para aprender más sobre TLS/SSL y MongoDB, consulta:

--tlsAllowInvalidHostnames

Deshabilita la validación de los nombres de host en el certificado presentado por la mongod mongos instancia /. Permite que MongoDB Shell se conecte a instancias de MongoDB incluso si el nombre de host en los certificados del servidor no coincide con el host del servidor.

Para aprender más sobre TLS/SSL y MongoDB, consulta:

--tlsAllowInvalidCertificates

Nuevo en la versión 4.2.

Omite las comprobaciones de validación de los certificados presentados por la instancia mongod / y permite conexiones a servidores que presentan certificados no válidos.mongos

Nota

A partir de MongoDB 4.0, si especifica --tlsAllowInvalidCertificates al utilizar la autenticación x.509, un certificado no válido es suficiente solo para establecer una conexión TLS, pero es insuficiente para la autenticación.

Advertencia

Aunque esté disponible, evite usar la --tlsAllowInvalidCertificates opción si es posible. Si --tlsAllowInvalidCertificates es necesario usar, utilice esta opción únicamente en sistemas donde no sea posible la intrusión.

Si la consola de MongoDB (y otras conexiones a un conjunto de réplicas con TLS habilitado) se ejecuta con la opción--tlsAllowInvalidCertificates, no intenta validar los certificados del servidor. Esto crea una vulnerabilidad ante certificados mongod y mongos caducados, así como ante procesos externos que se hacen pasar por instancias válidas de mongod o mongos. Si solo necesita deshabilitar la validación del nombre de host en los certificados TLS, consulte --tlsAllowInvalidHostnames.

Para aprender más sobre TLS/SSL y MongoDB, consulta:

--tlsCertificateSelector <parameter>=<value>

Disponible en Windows y macOS como alternativa --tlsCertificateKeyFile a.

Importante

Windows e importación de llaves privadas

Cuando importes la llave privada, se debe marcar como exportable. El Asistente para importar certificados de Windows no selecciona esta opción por defecto.

Asistente de Importación de Certificados de Microsoft donde la clave está marcada como exportable

Las --tlsCertificateKeyFile opciones y son mutuamente excluyentes. Solo puede especificar una.--tlsCertificateSelector

Especifica una propiedad de certificado para seleccionar un certificado coincidente de los almacenes de certificados del sistema operativo.

--tlsCertificateSelector acepta un argumento del formato <property>=<value> donde la propiedad puede ser una de las siguientes:

Propiedad
Tipo de valor
Descripción

subject

string ASCII

Nombre del sujeto o nombre común en el certificado

thumbprint

cadena hexadecimal

Una secuencia de bytes, expresada en hexadecimal, utilizada para identificar una llave pública mediante su resumen SHA-1.

El thumbprint a veces se conoce como fingerprint.

Al utilizar el almacén de certificados SSL del sistema, se emplea OCSP (Protocolo de estado de certificados en línea) para validar el estado de revocación de los certificados.

Nota

A partir de la 4.4 versión, mongod / registra una advertencia en la conexión si mongos el509 certificado X. presentado caduca dentro 30 de los días de la mongod/mongos hora del sistema host.

--tlsDisabledProtocols <string>

Desactiva protocolos TLS especificados. La opción reconoce los siguientes protocolos:

  • TLS1_0

  • TLS1_1

  • TLS1_2

  • (A partir de la versión 4.0.4, 3.6.9, 3.4.24) TLS1_3

  • En macOS, no puede desactivarTLS1_1 y dejar ambos TLS1_0 y TLS1_2 activados. También debes desactivar al menos uno de los otros dos; por ejemplo, TLS1_0,TLS1_1.

  • Para enumerar varios protocolos, especifíquelos como una lista de protocolos separados por comas. Por ejemplo TLS1_0,TLS1_1.

  • Los protocolos deshabilitados especificados anulan cualquier protocolo deshabilitado por defecto.

A partir de la 4.0 versión, MongoDB desactiva el uso de TLS 1.0 si TLS 1.1o superior está disponible en el sistema. Para habilitar TLS,1.0 especifique none entre --tlsDisabledProtocols y.

--tlsUseSystemCA

Permite mongosh que cargue certificados TLS ya disponibles en la autoridad de certificación del sistema operativo sin especificarlos explícitamente al intérprete de comandos. No se puede desactivar este comportamiento. --tlsUseSystemCA aún se puede configurar para compatibilidad con versiones anteriores, pero no tiene ningún efecto.

Nota

Esta bandera se aplica tanto a las conexiones de MongoDB como a las conexiones de los proveedores de identidad OIDC.

--authenticationDatabase <dbname>

Especifica la base de datos de autenticación donde --username se ha creado el especificado. Consulte Base de datos de autenticación.

Si no especifica un valor para, la consola de MongoDB utiliza la base de datos especificada en la cadena de --authenticationDatabase conexión.

--authenticationMechanism <name>

Especifica el mecanismo de autenticación que usa MongoDB Shell para autenticarse en o. Si no especifica mongod mongosun authenticationMechanism pero proporciona credenciales de usuario, MongoDB Shell y los controladores intentan usar SCRAM-SHA-.256 Si esto falla, recurren a SCRAM-SHA-.1

Valor
Descripción

Mecanismo de autenticación de respuesta de desafío con sal estándarRFC que utiliza la 5802 1 función hash SHA-.

Mecanismo de autenticación de respuesta de desafío con sal estándarRFC que utiliza la 7677 256 función hash SHA-.

Se debe establecer featureCompatibilityVersion en 4.0.

Autenticación de certificados MongoDB TLS.

GSSAPI (Kerberos)

Autenticación externa mediante Kerberos. Este mecanismo solo está disponible en MongoDB Enterprise.

PLAIN (SASL LDAP)

Autenticación externa mediante LDAP. También puede utilizar PLAIN para autenticar a los usuarios de base de datos. PLAIN transmite las contraseñas en texto sin cifrar. Este mecanismo está disponible en MongoDB Enterprise y MongoDB Atlas.

MONGODB-OIDC (OpenID Connect)

Autenticación externa utilizando OpenID Connect. Este mecanismo está disponible en MongoDB Enterprise y MongoDB Atlas.

MONGODB-AWS (AWS IAM)

Autenticación externa mediante credenciales de Amazon Web Services Identity and Access Management (AWS IAM). Este mecanismo está disponible en MongoDB Enterprise y MongoDB Atlas.

--gssapiServiceName

Especifique el nombre del servicio usando GSSAPI/Kerberos. Solo es necesario si el servicio no usa el nombre mongodb predeterminado.

Esta opción solo está disponible en MongoDB Enterprise.

--sspiHostnameCanonicalization <string>

Especifica si se debe utilizar la canonicalización de nombres de host.

--sspiHostnameCanonicalization tiene el mismo efecto que establecer el CANONICALIZE_HOST_NAME:true|false par de claves en la parte de la authMechanismProperties cadenade conexión.

Si se establece --sspiHostnameCanonicalization en:

  • forwardAndReverse, realiza una búsqueda directa de DNS y luego una búsqueda inversa. Nuevo en mongosh 1.3.0.

  • forward, el efecto es el mismo que al configurar authMechanismProperties=CANONICALIZE_HOST_NAME:true.

  • none, el efecto es el mismo que al configurar authMechanismProperties=CANONICALIZE_HOST_NAME:false.

--oidcFlows

Especifica los flujos de OpenID Connect en una lista separada por comas. Los flujos de OpenID Connect especifican la interacción de mongosh con el proveedor de identidad para el proceso de autenticación. mongosh admite los siguientes flujos de OpenID Connect:

Flujo de OpenID Connect
Descripción

auth-code

Por defecto. mongosh abre un navegador y hace el redireccionamiento a la pantalla para iniciar sesión del proveedor de identidad.

device-auth

mongosh te proporciona una URL y un código para completar la autenticación. Esto se considera un flujo de OpenID Connect menos seguro, pero se puede utilizar cuando mongosh se ejecuta en un entorno en el que no se puede abrir un navegador.

Para establecer device-auth como opción de respaldo para auth-code, consulta el siguiente ejemplo:

mongosh 'mongodb://localhost/' --authenticationMechanism MONGODB-OIDC --oidcFlows=auth-code,device-auth
--oidcDumpTokens

Especifica si mongosh imprime tokens con información extra de depuración. Utiliza esta opción solo para fines de depuración.

La opción --oidcDumpTokens acepta los siguientes valores:

Valor
Descripción

redacted

Por defecto cuando solo se configura --oidcDumpTokens. Imprime la información de depuración de tokens con los datos sensibles redactados.

include-secrets

Imprime información de depuración de tokens, incluidas las credenciales que podrían autenticar potencialmente a los servidores de bases de datos.

Importante

El valor include-secrets expone credenciales que los atacantes pueden usar para la autenticación. Utilice esta opción solo cuando las personas no autorizadas no puedan ver el resultado de mongosh y las credenciales sean necesarias para fines de diagnóstico.

--oidcIdTokenAsAccessToken

Especifica si mongosh utiliza el token de ID recibido del proveedor de identidad en lugar del token de acceso. Utilice esta opción con proveedores de identidad que no pueda configurar para proporcionar tokens de acceso JWT.

--oidcNoNonce

Por defecto, mongosh envía un parámetro nonce durante el flujo de código de autorización de OIDC.

Si se establece la opción --oidcNoNonce, mongosh no envía un parámetro nonce. Se debe usar esta opción si el proveedor de identidad no admite valores nonce como parte de la autorización.

--oidcRedirectUri

Especifica una URI donde el proveedor de identidad redirige después de la autenticación. La URI debe coincidir con la configuración del proveedor de identidad. El valor es por defecto http://localhost:27097/redirect.

--oidcTrustedEndpoint

Indica que la conexión actual es a un punto final confiable que no es Atlas ni localhost. Esto asegura que los tokens de acceso sean enviados al servidor. Se debe usar esta opción solo cuando se realice la conexión a servidores en los que se confíe.

--browser

Especifica el navegador al que mongosh redirige cuando MONGODB-OIDC está activado.

Esta opción se ejecuta con el shell del sistema.

Establece --no-browser para desactivar la apertura de navegadores por completo.

--password <password>, -p <password>

Especifica una contraseña para autenticarse en una base de datos MongoDB que utiliza autenticación. Úsela junto con las opciones --username --authenticationDatabase y.

Para forzar a MongoDB Shell a solicitar una contraseña, ingrese la opción como última opción y omita el --password argumento.

--username <username>, -u <username>

Especifica un nombre de usuario para autenticarse en una base de datos MongoDB que utiliza autenticación. Úselo junto con las opciones --password --authenticationDatabase y.

--retryWrites

Activa Escrituras reintentables.

Por defecto, las escrituras reintentables son:

  • activado en mongosh

  • desactivado en el shell mongo heredado

Para deshabilitar las escrituras reintentables,--retryWrites=false use.

Para obtener más información sobre las sesiones, consulta Sesiones de cliente y garantías de coherencia causal.

--cryptSharedLibPath <string>

Nuevo en la versión 8.2.

Ruta a la biblioteca compartida de cifrado automático. La biblioteca debe ser 8 la2 versión..0 o superior. Es necesario para usar el cifrado automático en la mongosh sesión de shell.

--awsAccessKeyId <string>

Una clave de acceso de AWS asociada a un usuario de IAM que tiene List Read permisos y para el Servicio de administración de claves de AWS (KMS). mongosh utiliza el especificado --awsAccessKeyId para acceder al KMS.

--awsAccessKeyIdes necesario para habilitar el cifrado de nivel de campo del lado del cliente para la sesión de shellmongosh. --awsAccessKeyIdrequiere las dos opciones de línea de comandos siguientes:

Si se omite,--awsAccessKeyId Mongo() utilice el constructor dentro de la sesión de shell para habilitar el cifrado de nivel de campo del lado del cliente.

Para mitigar el riesgo de que las claves de acceso se filtren en los registros, considere especificar una variable de entorno --awsAccessKeyId para.

--awsSecretAccessKey <string>

Una clave secreta de AWS asociada a la --awsAccessKeyId especificada.

--awsSecretAccessKeyes necesario para habilitar el cifrado de nivel de campo del lado del cliente para la sesiónmongosh. --awsSecretAccessKeyrequiere las dos opciones de línea de comandos siguientes:

Si se omiten y --awsSecretAccessKey Mongo() sus opciones de soporte, utilice dentro de la sesión de shell para habilitar el cifrado de nivel de campo del lado del cliente.

Para mitigar el riesgo de que las claves de acceso se filtren en los registros, considere especificar una variable de entorno --awsSecretAccessKey para.

--awsSessionToken <string>

Un token de sesión de AWS asociado al --awsAccessKeyId especificado.

--awsSessionTokenes necesario para habilitar el cifrado de nivel de campo del lado del cliente para la sesión de shellmongosh. --awsSessionTokenrequiere todas las siguientes opciones de línea de comandos:

Si se omiten y --awsSessionToken Mongo() sus opciones de soporte, utilice dentro de la sesión de shell para habilitar el cifrado de nivel de campo del lado del cliente.

Para mitigar el riesgo de que las claves de acceso se filtren en los registros, considere especificar una variable de entorno --awsSessionToken para.

--keyVaultNamespace <string>

El espacio de nombres completo<database>.<collection> () de la colección utilizada como almacén de claves para el cifrado de campo del lado del cliente. es necesario para habilitar el cifrado--keyVaultNamespace mongosh de campo del lado del cliente para mongosh la sesión de shell. crea el espacio de nombres especificado si no existe.

--keyVaultNamespace requiere ambas opciones de línea de comandos siguientes:

Si se omiten --keyVaultNamespace Mongo() y sus opciones de soporte, utilice el constructor dentro de la sesión de shell para habilitar el cifrado de nivel de campo del lado del cliente.