Definir configurações usando a API
Nesta página
A API do config
fornece métodos para examinar e atualizar a configuração do mongosh
. As atualizações feitas usando a API config
persistem entre as sessões.
Observação
A API config
pode ser usada dentro da interface da linha de comando mongosh
. Não tem efeito no shell do Compass.
Sintaxe
Imprima a configuração atual do mongosh
:
config
Retornar o valor atual para <property>
:
config.get( "<property>" )
Altere a configuração atual de <property>
para <value>
:
config.set( "<property>", <value> )
Redefinir um <property>
para o valor padrão:
config.reset( "<property>" )
Parâmetrossuportados property
Chave | Tipo | Default | Descrição |
---|---|---|---|
| booleano |
| Especifica se o MongoDB Shell grava entradas de registro. |
| inteiro | 20 | O número de itens exibidos por iteração do cursor |
| booleano |
| Permite enviar dados de rastreamento e diagnóstico anônimos para MongoDB. |
| string |
| Designa um editor para utilizar dentro do console do |
| booleano |
| Disponível apenas no arquivo de configuração global. Quando verdadeiro, os usuários não podem habilitar a telemetria manualmente. |
| inteiro | 1000 | O número de itens para armazenar no arquivo de histórico do RELP |
| inteiro ou booleano | 3 | |
| inteiro ou infinito | 6 | A profundidade com que os objetos são impressos. Definir |
| booleano | false | Especifica se o MongoDB Shell comprime arquivos de log. Quando esse valor |
| string | Depende do seu sistema operacional.Consulte Exibir registros de shell. | Diretório onde o MongoDB Shell grava arquivos de log. Especifique um caminho de arquivo absoluto. Consulte Especificar a localização do arquivo de log. |
| inteiro ou infinito | 100 | Número máximo de arquivos de log que o MongoDB Shell mantém. Depois que o MongoDB Shell atinge a contagem máxima de arquivo de log , ele começa a excluir os arquivos de log mais antigos até que a contagem esteja abaixo do limite. Consulte Modificar a contagem máxima de arquivos de log. |
| inteiro ou infinito | 30 | Número de dias em que os arquivos de log do MongoDB Shell são retidos. Se esse valor estiver definido |
| float ou Infinity | Desconfigurar | Quantidade máxima de espaço em gigabytes usado para registros MongoDB Shell . Se o tamanho combinado dos registros do MongoDB Shell exceder esse valor, os arquivos de log serão excluídos começando pelos registros mais antigos. Se este valor estiver definido |
| string |
| Controla quais informações são registradas no histórico do shell. Deve ser um dos seguintes:
|
| booleano |
| Controla a exibição de um traçado de pilha juntamente com mensagens de erro. |
| booleano |
| Se |
| string | Uma lista separada por ponto e vírgula de URLs que se vinculam a um registro de snippet. | |
| string | O registro npm usado pelo cliente npm |
Comportamento
Remover ou suprimir informações confidenciais do histórico
mongosh
"dedica-se ao máximo" para corresponder padrões que normalmente correspondem a certos tipos de informações confidenciais.
Existem padrões que correspondem:
Certificados e chaves
Endereços de e-mail
Diretórios de usuários genéricos
URLs HTTP(s)
Endereços IP
Connection strings do MongoDB
Certas operações, como connect()
, são consideradas inerentemente sensíveis. Se redactHistory
estiver definido como remove
ou remove-redact
, as linhas com essas operações serão removidas do histórico da linha de comando.
Outras operações, a exemplo de find()
, ocasionalmente têm informações confidenciais, como endereços de e-mail. O histórico do shell manterá essas linhas conforme inseridas, a menos que redactHistory
esteja definido como remove-redact
.
Comportamento com o arquivo de configuração
Configurações especificadas com a API config
:
Substitua as configurações especificadas no arquivo de configuração.
Persistir entre reinicializações.
Exemplo
Considere o seguinte arquivo de configuração que define a configuração inspectDepth
como 20
:
mongosh: inspectDepth: 20
Durante sua sessão do mongosh
, você executa o seguinte comando para definir inspectDepth
como 10
:
config.set( "inspectDepth", 10 )
O valor de inspectDepth
se torna 10
e permanecerá 10
mesmo quando mongosh
for reiniciado.
Exemplos
Atualizar o número de itens retornados por um cursor
Considere exibir uma collection com vários documentos grandes. Você pode atualizar o batchSize
para limitar o número de itens retornados por um cursor.
config.set("displayBatchSize", 3)
As futuras operações de db.collection.find()
retornarão apenas 3 documentos por iteração do cursor.
Ativar rastreamentos de pilha
Ative os rastreamentos de pilha para ver relatórios de erros mais detalhados.
config.set("showStackTraces", true)
A saída difere assim:
// 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)
Chamar a config
API de fora do mongosh
Você pode chamar a API config
na linha de comando usando --eval
com mongosh
. Nesse caso, a opção --nodb
significa que mongosh
será atualizado sem se conectar a um MongoDB database.
Importante
Você deve utilizar aspas diferentes para a expressão --eval
e a propriedade config
. Ou seja, aspas simples para um e aspas duplas para o outro.
mongosh --nodb --eval 'config.set("enableTelemetry", true)'
mongosh
retorna informações adicionais junto com o resultado da chamada de API.
Current Mongosh Log ID: 609583b730e14918fa0d363f Using MongoDB: undefined Using Mongosh Beta: 0.12.1 For mongosh info see: https://www.mongodb.com/pt-br/docs/mongodb-shell/ Setting "enableTelemetry" has been changed
Suprimir informações confidenciais
Compare o histórico chamado quando redactHistory
estiver definido como remove-redact
ou remove
.
Configure o modo redactHistory
para remove-redact
e insira uma query contendo um endereço de e-mail.
config.set( "redactHistory", "remove-redact" ) db.contacts.find( {"email": "customer@clients.com" } )
Quando você pressiona up arrow
para reproduzir o último comando, o endereço de e-mail é omitido.
db.contacts.find( {"email": "<email>" } ) // Redacted
Configure o modo redactHistory
para remove
e insira uma query contendo um endereço de e-mail.
config.set( "redactHistory", "remove" ) db.contacts.find( {"email": "customer@clients.com" } )
Quando você pressiona up arrow
para reproduzir o último comando, o endereço de e-mail está presente.
db.contacts.find( {"email": "customer@clients.com" } )
O histórico do shell reflete as alterações. (Observe que isso armazena primeiro a entrada mais recente.)
db.contacts.find( {"email": "customer@clients.com" } ) config.set( "redactHistory", "remove" ) db.contacts.find( {"email": "<email>" } ) config.set( "redactHistory", "remove-redact" )
Redefinir uma definição de configuração para o valor padrão
Se você modificou uma configuração e deseja redefini-la para o valor padrão, utilize config.reset( "<property>" )
.
Altere o valor da configuração
historyLength
para2000
:config.set("historyLength", 2000) Verifique o valor atualizado de
historyLength
:config.get("historyLength") Redefinir a configuração
historyLength
para o valor padrão de1000
:config.reset("historyLength") Verifique o valor atualizado de
historyLength
:config.get("historyLength")