Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Configurar ajustes usando la API

La config La API proporciona métodos para examinar y actualizar la Configuración mongosh. Las actualizaciones realizadas mediante la API config persisten entre sesiones.

Nota

La API de config puede usarse dentro de la interfaz de línea de comandos mongosh. No tiene efecto en el shell de Compass integrada.

Imprima la configuración mongosh actual:

config

Retorna el valor actual de <property>:

config.get( "<property>" )

Cambie la configuración actual de <property> a <value>:

config.set( "<property>", <value> )

Restablecer un <property> al valor por defecto:

config.reset( "<property>" )
Clave
Tipo
predeterminado
Descripción

browser

string o booleano

Navegador del sistema por defecto

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

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

Establezca browser en false para deshabilitar la apertura de navegadores por completo.

disableLogging

booleano

false

Especifica si MongoDB Shell escribe entradas de registro.

disableSchemaSampling

booleano

false

Por defecto, MongoDB Shell muestra una muestra de tu esquema de base de datos para activar sugerencias de autocompletado.

Si ajustas esta configuración a true, el MongoDB Shell no muestra una muestra de tu esquema de base de datos y la función de autocompletar se comporta como si la colección estuviera vacía.

displayBatchSize

entero

20

El número de elementos mostrados por cada iteración de cursor.

enableTelemetry

booleano

true

Permite el envío de datos de seguimiento y diagnóstico anonimizados a MongoDB.

editor

string

null

Designa un editor para usar dentro de la consola mongosh. Anula la variable de entorno EDITOR si está establecida.

forceDisableTelemetry

booleano

false

Solo disponible en el archivo de configuración global. Si es verdadero, los usuarios no pueden habilitar la telemetría manualmente.

historyLength

entero

1000

La cantidad de ítems a almacenar en el archivo de historial mongosh REPL.

inspectCompact

entero o booleano

3

El nivel de elementos internos que mongosh muestra en una sola línea. Los elementos de arreglos cortos también se agrupan en una sola línea.

Si se establece en false, mongosh imprime cada campo en su propia línea.

inspectDepth

entero o Infinito

6

La profundidad a la que se imprimen los objetos. Al establecer inspectDepth en Infinity (el objeto de javascript), se imprimen todos los objetos anidados en su máxima profundidad.

logCompressionEnabled

booleano

false

Especifica si MongoDB Shell comprime los archivos de registro. Cuando este valor es true, MongoDB Shell utiliza gzip para comprimir los registros. Consulte Activar la compresión de registros.

logLocation

string

Depende de tu sistema operativo. Consulta Ver registros del shell.

Directorio donde MongoDB Shell guarda las entradas de registro. Especifica una ruta de archivo absoluta. Consultar Especificar entrada de registro.

logMaxFileCount

entero o Infinito

100

Número máximo de entradas de registro que retiene MongoDB Shell. Después de que el MongoDB Shell alcanza el número máximo de entradas de registro, comienza a borrar las entradas de registro más antiguas hasta que el número esté por debajo del umbral. Consulta Modificar el máximo de entrada de registro.

logRetentionDays

entero o Infinito

30

Número de días que se conservan las entradas de registro de MongoDB Shell. Si este valor se establece en Infinity, las entradas de registro no se borran según la antigüedad. Para evitar que el almacenamiento de registros crezca demasiado, siempre debes especificar al menos un criterio de retención de registros. Consulte Retención de registros.

logRetentionGB

float o infinito

Sin establecer

Cantidad máxima de espacio en gigabytes que se utiliza para los registros de MongoDB Shell. Si el tamaño combinado de los registros de MongoDB Shell supera este valor, las entradas de registro se borran comenzando por los registros más antiguos.

Si este valor se define como Infinity, las entradas de registro no se eliminan en función del tamaño de almacenamiento. Para evitar que el almacenamiento de registros crezca demasiado, especifica siempre al menos un criterio de retención de registros. Consulta Retención de registros.

oidcRedirectUri

string

http://localhost:27097/redirect

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.

oidcTrustedEndpoints

Arreglo de cadenas

[] (matriz vacía)

Especifica una matriz de nombres de host de endpoints de confianza, incluyendo posibles comodines, que no sean Atlas ni localhost. Los tokens de acceso se envían a estos endpoints. Configure únicamente endpoints de confianza.

redactHistory

string

remove

Controla la información que se registra en el historial de comandos mongosh. Puedes acceder al historial de comandos mongosh con las teclas arriba y abajo o con Ctrl+R desde el shell.

Debe ser uno de los siguientes valores:

  • keep: Conservar todo el historial.

  • remove: Eliminar del historial las líneas que contienen comandos confidenciales. Por ejemplo, remove elimina las llamadas a db.auth() o connect().

  • remove-redact:Elimine líneas que contengan comandos confidenciales y redacte cadenas específicas en otras líneas del historial, como rutas de archivos, direcciones de correo electrónico y URL.

showStackTraces

booleano

false

Controla la visualización de una traza de pila junto con los mensajes de error.

snippetAutoload

booleano

true

Si true es, carga automáticamente los fragmentos instalados al inicio.

snippetIndexSourceURLs

string

Una lista separada por punto y coma de direcciones URL que enlazan a un registro de fragmentos.

snippetRegistryURL

string

El npm registro que utiliza el mongosh npm cliente que instala el snippet.

mongosh realiza intentos de «máximo esfuerzo» para hacer coincidir los patrones que normalmente corresponden a ciertos tipos de información confidencial.

Existen patrones que coinciden:

  • Certificados y claves

  • Direcciones de correo electrónico

  • Directorios de usuarios genéricos

  • URL HTTP(s)

  • Direcciones IP

  • Cadenas de conexión de MongoDB

Ciertas operaciones, como connect(), se consideran intrínsecamente delicadas. Si redactHistory está configurado como remove o remove-redact, las líneas con estas operaciones se eliminarán del historial de línea de comandos.

Otras operaciones, como find(), a veces contienen información sensible como direcciones de correo electrónico. El historial del shell retendrá estas líneas tal como se ingresaron a menos que redactHistory esté configurado en remove-redact.

Configuraciones especificadas con la API config:

Ejemplo

Considera el siguiente archivo de configuración que establece el parámetro inspectDepth en 20:

mongosh:
inspectDepth: 20

Durante su sesión mongosh, ejecute el siguiente comando para establecer inspectDepth en 10:

config.set( "inspectDepth", 10 )

El valor de inspectDepth se convierte en 10 y seguirá siendo 10 incluso cuando se reinicie mongosh.

Considera revisar una colección con varios documentos grandes. Puedes actualizar el batchSize para limitar la cantidad de elementos devueltos por un cursor.

config.set("displayBatchSize", 3)

Futuras operaciones db.collection.find() sólo devolverán 3 documentos por iteración del cursor.

Habilite los seguimientos de pila para ver informes de errores más detallados.

config.set("showStackTraces", true)

La salida difiere así:

// showStackTraces set to 'false'
Enterprise> db.orders.find( {}, { $thisWontWork: 1 } )
MongoError: FieldPath field names may not start with '$'.
// showStackTraces set to 'true'
Enterprise> db.orders.find( {}, { $thisWontWork: 1 } )
Uncaught:
MongoError: FieldPath field names may not start with '$'.
at MessageStream.messageHandler (/usr/bin/mongosh:58878:20)
at MessageStream.emit (events.js:315:20)
at MessageStream.EventEmitter.emit (domain.js:548:15)
at processIncomingData (/usr/bin/mongosh:57954:12)
at MessageStream._write (/usr/bin/mongosh:57850:5)
at writeOrBuffer (_stream_writable.js:352:12)
at MessageStream.Writable.write (_stream_writable.js:303:10)
at Socket.ondata (_stream_readable.js:719:22)
at Socket.emit (events.js:315:20)
at Socket.EventEmitter.emit (domain.js:548:15)

Puedes llamar a la config API desde la línea de comandos usando con. En --eval este caso, la mongosh --nodb opción significa que se actualizará sin conectarse a una base de datos mongosh MongoDB.

Importante

Debe usar comillas diferentes para la expresión y --eval la config propiedad. Es decir, comillas simples para una y comillas dobles para la otra.

mongosh --nodb --eval 'config.set("enableTelemetry", true)'

mongosh devuelve información adicional junto con el resultado de la llamada API.

Current Mongosh Log ID: 609583b730e14918fa0d363f
Using MongoDB: undefined
Using Mongosh Beta: 0.12.1
For mongosh info see: https://www.mongodb.com/es/docs/mongodb-shell/
Setting "enableTelemetry" has been changed

Compare el historial recuperado cuando redactHistory esté configurado en remove-redact o remove.

Establezca el modo redactHistory en remove-redact e ingrese una consulta que contenga una dirección de correo electrónico.

config.set( "redactHistory", "remove-redact" )
db.contacts.find( {"email": "customer@clients.com" } )

Cuando presionas el up arrow para volver a reproducir el último comando, la dirección de correo electrónico se protege.

db.contacts.find( {"email": "<email>" } ) // Redacted

Establezca el modo redactHistory en remove e ingrese una consulta que contenga una dirección de correo electrónico.

config.set( "redactHistory", "remove" )
db.contacts.find( {"email": "customer@clients.com" } )

Cuando presione el up arrow para reproducir el último comando, la dirección de correo electrónico está presente.

db.contacts.find( {"email": "customer@clients.com" } )

El historial del shell refleja los cambios. (Tenga en cuenta que esto almacena primero la entrada más reciente).

db.contacts.find( {"email": "customer@clients.com" } )
config.set( "redactHistory", "remove" )
db.contacts.find( {"email": "<email>" } )
config.set( "redactHistory", "remove-redact" )

Si modificó una configuración y desea restablecerla al valor predeterminado, utilice config.reset( "<property>" ).

  1. Cambie el valor de la configuración historyLength a 2000:

    config.set("historyLength", 2000)
  2. Verifica el valor actualizado de historyLength:

    config.get("historyLength")
  3. Restablece la configuración historyLength al valor por defecto de 1000:

    config.reset("historyLength")
  4. Verifica el valor actualizado de historyLength:

    config.get("historyLength")

Volver

Configurar los ajustes

En esta página