El config La API proporciona métodos para examinar y actualizar la
mongosh Configuración. Las actualizaciones realizadas mediante la config API persisten entre sesiones.
Nota
La config API se puede usar dentro de la mongosh interfaz de línea de comandos. No tiene ningún efecto en la
carcasa de brújula incrustada.
Sintaxis
Imprima la configuración mongosh actual:
config
Devuelve el valor actual para <property>:
config.get( "<property>" )
Cambie la configuración actual de <property> a <value>:
config.set( "<property>", <value> )
Restablecer un <property> al valor predeterminado:
config.reset( "<property>" )
Parámetros de propiedad admitidos
Clave | Tipo | predeterminado | Descripción |
|---|---|---|---|
| cadena o booleano | Navegador del sistema por defecto | Especifica el navegador al que Esta opción se ejecuta con el shell del sistema. Establezca |
| booleano |
| Especifica si MongoDB Shell escribe entradas de registro. |
| booleano |
| De forma predeterminada, MongoDB Shell toma muestras del esquema de su base de datos para habilitar sugerencias de autocompletar. Si establece esta configuración en |
| entero | 20 | El número de elementos mostrados por cada iteración de cursor. |
| booleano |
| Permite enviar datos de seguimiento y diagnóstico anónimos a MongoDB. |
| string |
| Designa un editor para usar en la consola. Anula |
| booleano |
| Solo disponible en el archivo de configuración global. Si es verdadero, los usuarios no pueden habilitar la telemetría manualmente. |
| entero | 1000 | La cantidad de elementos que se almacenarán en el archivo de historial de |
| entero o booleano | 3 | |
| entero o infinito | 6 | La profundidad con la que se imprimen los objetos. Al establecer |
| booleano | false | Especifica si MongoDB Shell comprime los archivos de registro. Cuando este valor |
| string | Depende de tu sistema operativo.Consulta "Ver registros del shell". | Directorio donde MongoDB Shell escribe los archivos de registro. Especifique una ruta de archivo absoluta. Consulte "Especificar la ubicación del archivo de registro". |
| entero o infinito | 100 | Número máximo de archivos de registro que MongoDB Shell conserva. Una vez que MongoDB Shell alcanza el número máximo de archivos de registro, comienza a eliminar los más antiguos hasta que el número sea inferior al umbral.Consulte Modificar el número máximo de archivos de registro. |
| entero o infinito | 30 | Número de días que se conservan los archivos de registro de MongoDB Shell. Si este valor se establece |
| flotador o infinito | Sin establecer | Espacio máximo en gigabytes utilizado para los registros de MongoDB Shell. Si el tamaño combinado de los registros de MongoDB Shell supera este valor, los archivos de registro se eliminan comenzando por los 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 |
| matriz de cadenas |
| Especifica una matriz de nombres de host de endpoints de confianza, incluyendo posibles comodines, que no sean Atlas ni |
| string |
| Controla la información que se registra en el historial de comandos Debe ser uno de los siguientes valores:
|
| booleano |
| Controla la visualización de un seguimiento de la pila junto con mensajes de error. |
| booleano |
| Si |
| string | ||
| string | El registro npm utilizado por el |
Comportamiento
Eliminar o redactar información confidencial del historial
mongosh hace todo lo posible para encontrar patrones que normalmente corresponden a ciertos tipos de información confidencial.
Hay 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, se consideran inherentemente sensibles.connect() Si redactHistory se establece remove en remove-redact o, las líneas con estas operaciones se eliminarán del historial de la línea de comandos.
Otras operaciones,find() como, a veces contienen información confidencial, como direcciones de correo electrónico. El historial del shell conservará estas líneas tal como se ingresaron, a menos que redactHistory se configure remove-redact como.
Comportamiento con archivo de configuración
Configuraciones especificadas con la API config:
Anular las configuraciones especificadas 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 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.
Ejemplos
Actualizar el número de elementos devueltos por un cursor
Considere ver una colección con varios documentos grandes. Puede actualizar batchSize para limitar la cantidad de elementos que devuelve un cursor.
config.set("displayBatchSize", 3)
Las futuras operaciones db.collection.find() solo devolverán 3 documentos por iteración del cursor.
Activar seguimientos de pila
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)
Llamar a la API de configuración desde fuera de Mongosh
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
Redactar información confidencial
Compare el historial recuperado cuando redactHistory se establece 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 presiona up arrow para reproducir el último comando, se borra la dirección de correo electrónico.
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" )
Restablecer una configuración al valor predeterminado
Si modificó una configuración y desea restablecerla al valor predeterminado, utilice config.reset( "<property>" ).
Cambie el valor de la configuración
historyLengtha2000:config.set("historyLength", 2000) Verifique el valor actualizado para
historyLength:config.get("historyLength") Restablecer la configuración
historyLengthal valor predeterminado de1000:config.reset("historyLength") Verifique el valor actualizado para
historyLength:config.get("historyLength")