Docs Home / mongosh / Configure / Configure Settings

Configure Settings Using a Configuration File使用配置文件配置设置

You can specify mongosh settings in a global configuration file. 您可以在全局配置文件中指定mongosh设置。When you specify settings in a configuration file, those settings are applied at startup. 在配置文件中指定设置时,这些设置将在启动时应用。After you create a configuration file, the settings in the file take effect the next time you start mongosh.创建配置文件后,文件中的设置将在下次启动mongosh时生效。

Configuration File Format配置文件格式

The mongosh configuration file uses the YAML format. All options are under the mongosh namespace.mongosh配置文件使用YAML格式。所有选项都在mongosh名称空间下。

Example Configuration File配置文件示例

The following configuration file sets:以下配置文件集:

  • displayBatchSize to 50
  • inspectDepth to 20
  • redactHistory to remove-redact
mongosh:
displayBatchSize: 50
inspectDepth: 20
redactHistory: "remove-redact"

Configuration File Location配置文件位置

The file location where mongosh looks for the configuration file depends on your operating system:mongosh查找配置文件的文件位置取决于操作系统:

Operating System操作系统File Location文件位置
Windowsmongosh.cfg, in the same directory as the mongosh.exe binary.mongosh.cfg,与mongosh.exe二进制文件位于同一目录中。
macOS

mongosh looks for a configuration file in the following directories in the order they are listed:mongosh按照列出的顺序在以下目录中查找配置文件:

  1. /usr/local/etc/mongosh.conf
  2. /opt/homebrew/etc/mongosh.conf
  3. /etc/mongosh.conf

Once mongosh reads a configuration file in one of these directories, any remaining directories in the list are not checked and configuration files in those directories are ignored.一旦mongosh读取了其中一个目录中的配置文件,列表中的任何剩余目录都不会被检查,这些目录中的组态文件也会被忽略。

Linux/etc/mongosh.conf

Configurable Settings可配置设置

You can specify the following mongosh settings in your configuration file:您可以在配置文件中指定以下mongosh设置:

KeyType类型Default默认Description描述
browserstring or booleanSystem default browser

Specifies the browser mongosh redirects you to when MONGODB-OIDC is enabled.指定启用MONGODB-OIDC时浏览器mongosh将您重定向到的位置。

This option is run with the system shell.此选项与系统shell一起运行。

Set browser to false to disable opening browsers entirely.browser设置为false以完全禁用打开浏览器。

disableLoggingbooleanfalseSpecifies whether MongoDB Shell writes log entries.指定MongoDB Shell是否写入日志条目。
disableSchemaSamplingbooleanfalse

By default, MongoDB Shell samples your database schema to enable autocomplete suggestions.默认情况下,MongoDB Shell会对数据库模式进行采样,以启用自动完成建议。

If you set this setting to true, MongoDB Shell does not sample your database schema and autocomplete behaves as if the collection is empty.如果将此设置设置为true,MongoDB Shell不会对数据库模式进行采样,自动补全的行为就像集合为空一样。

displayBatchSizeinteger20The number of items displayed per cursor iteration每次游标迭代显示的项目数
enableTelemetrybooleantrueEnables sending anonymized tracking and diagnostic data to MongoDB.允许向MongoDB发送匿名跟踪和诊断数据。
editorstringnullDesignates an editor to use within the mongosh console. Overrides the EDITOR environment variable if set.指定要在mongosh控制台中使用的编辑器。如果已设置,则覆盖EDITOR环境变量。
forceDisableTelemetrybooleanfalseOnly available in the global configuration file. When true, users cannot enable telemetry manually.仅在全局配置文件中可用。当为真时,用户无法手动启用遥测。
historyLengthinteger1000The number of items to store in mongosh REPL's history file.存储在mongosh REPL历史文件中的项目数。
inspectCompactinteger or boolean3

The level of inner elements that mongosh outputs on a single line. Short array elements are also grouped together on a single line.mongosh在单行上输出的内部元素的级别。短数组元素也被组合在一条线上。

If set to false, mongosh outputs each field on its own line.如果设置为falsemongosh将在其自己的行上输出每个字段。

inspectDepthinteger or Infinity6The depth to which objects are printed. Setting inspectDepth to Infinity (the javascript object) prints all nested objects to their full depth.打印对象的深度。将inspectDepth设置为Infinity(javascript对象)会将所有嵌套对象打印到其完整深度。
logCompressionEnabledbooleanfalseSpecifies whether MongoDB Shell compresses log files. When this value is true, MongoDB Shell uses gzip to compress logs. 指定MongoDB Shell是否压缩日志文件。当此值为真时,MongoDB Shell使用gzip压缩日志。See Enable Log Compression.请参阅启用日志压缩
logLocationstringDepends on your operating system. See View Shell Logs.这取决于你的操作系统。
请参阅查看Shell日志
Directory where MongoDB Shell writes log files. Directory Specify an absolute filepath. MongoDB Shell写入日志文件的目录。目录指定绝对文件路径。See Specify Log File Location.请参见指定日志文件位置
logMaxFileCountinteger or Infinity100Maximum number of log files that the MongoDB Shell retains. After the MongoDB Shell reaches the maximum log file count, it starts deleting the oldest log files until the count is below the threshold. MongoDB Shell保留的最大日志文件数。MongoDB Shell达到最大日志文件计数后,它开始删除最旧的日志文件,直到计数低于阈值。See Modify Maximum Log File Count.请参见修改最大日志文件计数
logRetentionDaysinteger or Infinity30Number of days that MongoDB Shell log files are retained. If this value is set to Infinity, log files are not deleted based on age. To prevent log storage from growing too large, always specify at least one log retention criterion. MongoDB Shell日志文件保留的天数。如果此值设置为无限,则不会根据年龄删除日志文件。为防止日志存储增长得太大,请始终至少指定一个日志保留标准。See Log Retention.请参阅日志保留
logRetentionGBfloat or InfinityUnset

Maximum amount of space in gigabytes used for MongoDB Shell logs. If the combined size of MongoDB Shell logs exceeds this value, log files are deleted starting with the oldest logs.MongoDB Shell日志使用的最大空间量(GB)。如果MongoDB Shell日志的组合大小超过此值,则从最旧的日志开始删除日志文件。

If this value is set to Infinity, log files are not deleted based on storage size. To prevent log storage from growing too large, always specify at least one log retention criterion. See Log Retention.如果此值设置为无限,则不会根据存储大小删除日志文件。为防止日志存储增长得太大,请始终至少指定一个日志保留标准。请参阅日志保留

oidcRedirectUristringhttp://localhost:27097/redirectSpecifies a URI where the identity provider redirects you after authentication. The URI must match the configuration of the identity provider. The default is http://localhost:27097/redirect.指定身份验证后身份提供程序重定向URI。URI必须与身份提供程序的配置匹配。默认值为http://localhost:27097/redirect
oidcTrustedEndpointsarray of strings[] (empty array)Specifies an array of trusted endpoint hostnames, including possible wildcards, that are not Atlas or localhost. 指定一组受信任的端点主机名,包括可能的通配符,这些通配符不是Atlas或localhostAccess tokens are sent to these endpoints. Only configure endpoints that you trust.访问令牌被发送到这些端点。仅配置您信任的端点。
redactHistorystringremove

Controls what information is recorded in the mongosh command history. You can access the mongosh command history via the up and down keys or Ctrl+R while inside the shell.控制mongosh命令历史记录中记录的信息。在shell中,您可以通过上下键或Ctrl+R访问mongosh命令历史记录。

Must be one of the following values:必须是以下值之一:

  • keep: Retain all history.:保留所有历史。
  • remove: Remove lines that contain sensitive commands from the history. For example, remove removes calls to db.auth() or connect().:从历史记录中删除包含敏感命令的行。例如,remove会删除对db.auth()connect()的调用。
  • remove-redact: Remove lines that contain sensitive commands and redact specific strings in other history lines, such as file paths, email addresses, and URLs.:删除包含敏感命令的行,并在其他历史行中编辑特定字符串,如文件路径、电子邮件地址和URL。
showStackTracesbooleanfalseControls display of a stack trace along with error messages.控制堆栈跟踪和错误消息的显示。
snippetAutoloadbooleantrueIf true, automatically load installed snippets at startup.如果为true,则在启动时自动加载已安装的代码段
snippetIndexSourceURLsstringMongoDB RepositoryA semicolon-separated list of URLs that link to a snippet registry.链接到代码段注册表的以分号分隔的URL列表。
snippetRegistryURLstringnpm RegistryThe npm registry used by the mongosh npm client that installs snippet.安装代码段mongosh npm客户端使用的npm注册表。

Behavior with config API配置API时的行为

Settings specified with the config API:使用配置API指定的设置:

  • Override settings specified in the configuration file.覆盖配置文件中指定的设置。
  • Persist across restarts.在重启过程中保持不变。

Example示例

Consider the following configuration file that sets the inspectDepth setting to 20:考虑以下将inspectDepth设置设置为20的配置文件:

mongosh:
inspectDepth: 20

During your mongosh session you run the following command to set inspectDepth to 10:mongosh会话期间,运行以下命令将inspectDepth设置为10

config.set( "inspectDepth", 10 )

The value of inspectDepth becomes 10, and will remain 10 even when mongosh is restarted.inspectDepth的值变为10,即使重新启动mongosh,它也将保持10