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.
Sintaxis
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>" )
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. Establezca |
| 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. Si 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 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 una traza de pila junto con los mensajes de error. |
| booleano |
| Si |
| string | ||
| string |
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 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
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
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 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" )
Restablecer un ajuste de configuración al valor por defecto
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) 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")