Docs 菜单
Docs 主页
/
mongosh
/ /

使用配置文件进行配置设置

您可以在全局配置文件中指定 mongosh设置。 当您在配置文件中指定设置时,这些设置将在初创企业时应用。 创建配置文件后,文件中的设置将在下次启动mongosh时生效。

mongosh 配置文件使用 YAML 格式。所有选项都位于 mongosh 命名空间下方。

以下配置文件设置:

  • displayBatchSize 为 50

  • inspectDepth 为 20

  • redactHistory to remove-redact

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

mongosh 查找配置文件的文件位置取决于您的操作系统:

操作系统
文件位置

Windows

mongosh.cfg,位于与mongosh.exe二进制文件相同的目录中。

macOS

mongosh 按目录列出的顺序在以下目录中查找配置文件:

  1. /usr/local/etc/mongosh.conf

  2. /opt/homebrew/etc/mongosh.conf

  3. /etc/mongosh.conf

一旦mongosh读取这些目录之一中的配置文件,就不会检查列表中的任何剩余目录,并忽略这些目录中的配置文件。

Linux

/etc/mongosh.conf

您可以在配置文件中指定以下 mongosh 设置:

类型
默认
说明

disableLogging

布尔

false

指定MongoDB Shell是否写入日志条目。

displayBatchSize

整型

20

每次游标迭代显示的项目数

enableTelemetry

布尔

true

允许将匿名跟踪和诊断数据发送到 MongoDB。

editor

字符串

null

指定要在 mongosh控制台中使用的编辑器。 如果已设立,则覆盖EDITOR环境变量。

forceDisableTelemetry

布尔

false

仅在全局配置文件中可用。如果为 true,则用户无法手动启用遥测。

historyLength

整型

1000

要存储在 mongoshREPL 的历史记录文件中的项目数。

inspectCompact

整数或布尔值

3

mongosh 在单行中输出的内部元素级别。单行中的多个短数组元素也会组合在一起。

如果设置为 false,则 mongosh 在自己的行上输出每个字段。

inspectDepth

整数或无穷大

6

打印对象的深度。将 inspectDepth 设置为 Infinity(JavaScript 对象)会将所有嵌套对象打印到其完整深度。

logCompressionEnabled

布尔

false

指定MongoDB Shell是否压缩日志文件。当该值为 true 时, MongoDB Shell使用 gzip 来压缩日志。请参阅启用日志压缩。

logLocation

字符串

取决于您的操作系统。请参阅查看Shell日志

MongoDB Shell写入日志文件的目录。指定绝对文件路径。请参阅指定日志文件位置

logMaxFileCount

整数或无穷大

100

MongoDB Shell保留的最大日志文件数。MongoDB Shell达到最大日志文件计数后,将开始删除最早的日志文件,直到计数低于阈值。请参阅修改最大日志文件计数。

logRetentionDays

整数或无穷大

30

MongoDB Shell日志文件的保留天数。如果将此值设立为 Infinity,则不会根据期限删除日志文件。为防止日志存储太大,请始终指定至少一个日志保留条件。请参阅日志保留

logRetentionGB

float 或 Infinity

未设置

用于MongoDB Shell日志的最大空间量(以 GB 为单位)。如果MongoDB Shell日志的总大小超过此值,将从最早的日志开始删除日志文件。

如果将此值设立为 Infinity,则不会根据存储大小删除日志文件。为防止日志存储太大,请始终指定至少一个日志保留条件。请参阅日志保留

redactHistory

字符串

remove

控制在 mongosh 命令历史记录中记录哪些信息。您可以在Shell中通过向上和向下键或 Ctrl+ R访问权限mongosh 命令历史记录。

必须是以下值之一:

  • keep:保留所有历史记录。

  • remove:从历史记录中删除包含敏感命令的行。示例,remove 删除对 db.auth() 或 connect() 的调用。

  • remove-redact:删除包含敏感命令的行并编辑其他历史记录行中的特定字符串,例如文件路径、电子邮件地址和 URL。

showStackTraces

布尔

false

控制堆栈跟踪和错误信息的显示。

snippetAutoload

布尔

true

如果为 true,则在启动时自动加载已安装的代码片段

snippetIndexSourceURLs

字符串

MongoDB 存储库

以分号分隔的链接到代码片段注册表的 URL 列表。

snippetRegistryURL

字符串

安装代码段mongosh npm 客户端使用的 npm 注册表。

使用配置 API 指定的设置:

  • 覆盖配置文件中指定的设置。

  • 重启后仍然存在。

例子

考虑以下配置文件,其将inspectDepth设置为20

mongosh:
inspectDepth: 20

mongosh 会话期间,运行以下命令将 inspectDepth 设置为 10

config.set( "inspectDepth", 10 )

inspectDepth的值变为10 ,并且即使重新启动mongosh也将保持为10

后退

使用API

在此页面上

  • 配置文件格式
  • 配置文件位置
  • 可配置的设置
  • config API的行为