La config La API proporciona métodos para examinar y actualizar el
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.
Sintaxis
Imprime la configuración actual de mongosh:
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>" )
Parámetros de propiedad admitidos
Clave | Tipo | predeterminado | Descripción |
|---|---|---|---|
| string o booleano | Navegador del sistema por defecto | Especifica el navegador al que Esta opción se ejecuta con el shell del sistema. Establece |
| booleano |
| Especifica si MongoDB Shell escribe entradas de registro. |
| booleano |
| 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 |
| entero | 20 | El número de elementos mostrados por cada iteración de cursor. |
| booleano |
| Permite el envío de datos de seguimiento y diagnóstico anonimizados a MongoDB. |
| string |
| Designa un editor para usar dentro de la consola |
| booleano |
| Solo disponible en el archivo de configuración global. Cuando esto es verdadero, los usuarios no pueden habilitar la telemetría manualmente. |
| entero | 1000 | La cantidad de ítems a almacenar en el archivo de historial |
| entero o booleano | 3 | |
| entero o Infinito | 6 | La profundidad a la que se imprimen los objetos. Al establecer |
| booleano | false | Especifica si MongoDB Shell comprime los archivos de registro. Cuando este valor es |
| 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. |
| 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. |
| 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 |
| 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 |
| string |
| 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 |
| Arreglo de cadenas |
| Especifica un arreglo de nombres de host de punto final confiables, incluidos posibles comodines, que no son Atlas ni |
| string |
| Controla la información registrada en el historial de comandos de Debe ser uno de los siguientes valores:
|
| booleano |
| Controla la visualización de una traza de pila junto con los mensajes de error. |
| booleano |
| Si |
| string | Una lista de URLs separadas por punto y coma que enlazan con un registro de snippet. | |
| string | ||
| string |
| La URL que MongoDB Shell verifica para actualizaciones disponibles al iniciar. Para desactivar las notificaciones de actualización y la solicitud de red saliente asociada, establece |
Comportamiento
Remover o redactar información sensible del historial
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.
Comportamiento con el archivo de configuración
Configuraciones especificadas con la API config:
Anula la configuración especificada en el archivo de configuración.
Persistente después de reinicios.
Ejemplo
Considera el siguiente archivo de configuración que establece el parámetro inspectDepth en 20:
mongosh: inspectDepth: 20
Durante tu sesión de mongosh ejecutas el siguiente comando para establecer inspectDepth en 10:
config.set( "inspectDepth", 10 )
El valor de inspectDepth se convierte en 10, y permanecerá 10 incluso cuando mongosh se reinicie.
Ejemplos
Actualizar el número de elementos devueltos por un cursor
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.
Activar Traces de pila
Habilita los seguimientos de pila para ver reportes 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)
Llamar a la API de configuración desde fuera de mongosh
Puede llamar a la API config desde la línea de comandos usando --eval con mongosh. En este caso, la opción --nodb significa que mongosh se actualizará sin conectarse a una base de datos MongoDB.
Importante
Debes usar comillas diferentes para la expresión --eval y la propiedad config. Es decir, comillas simples para una y comillas double para la otra.
mongosh --nodb --eval 'config.set("enableTelemetry", true)'
mongosh devuelve información adicional junto con el resultado de la llamada a la 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
Redactar información confidencial
Compare el historial recuperado cuando redactHistory esté configurado en remove-redact o remove.
Establecer redactHistory en modo remove-redact e ingresar una query 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
Establecer redactHistory en modo remove e ingresar una query 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" )
Restablecer un ajuste de configuración al valor por defecto
Si modificaste una configuración y quieres restablecerla al valor por defecto, utiliza config.reset( "<property>" ).
Cambie el valor de la configuración
historyLengtha2000:config.set("historyLength", 2000) Verifica el valor actualizado de
historyLength:config.get("historyLength") Restablece la configuración
historyLengthal valor por defecto de1000:config.reset("historyLength") Verifica el valor actualizado de
historyLength:config.get("historyLength")