是否可以将环境变量添加到 MongoDB 配置文件?

Fal*_*orn 7 yaml environment-variables mongodb

我正在使用 YAML 语法配置 MongoDB 副本集。但是,我想使用 MONGODB_HOME 环境变量来指向数据库:

storage:
  dbPath: "ENV['MONGODB_HOME']/data/db"
Run Code Online (Sandbox Code Playgroud)

我试过使用 %、$ 等,但没有成功。有可能这样做吗?

以防万一,我在 Windows 7 64 位下工作。

此致

Ste*_*nie 6

MongoDB 配置文件(从 3.0 开始)只允许静态配置值。

如果要传递动态值,可以改为通过命令行或 PowerShell 脚本调用,例如:

mongod.exe --dbpath %HOME%\data\db
Run Code Online (Sandbox Code Playgroud)

如果您计划启动多个 MongoDB 服务器实例(例如,为不同的用户),您还需要指定--port要侦听的唯一编号。

  • @asgs 在 MongoDB 4.0 中,MongoDB 的生产版本没有适用的更改。但是,最近在 4.1 开发系列中进行了一些改进(这将在 4.2 生产版本中达到高潮)。MongoDB 4.2 将使用 `__exec` 和 `__exec` 支持 [Externally Sourced Values for Configuration Files](https://docs.mongodb.com/master/release-notes/4.2/#externally-sourced-values-for-configuration-files) __rest` 扩展指令。从 4.1.4 开发版本开始,新指令可用于测试,但一些使用文档仍在进行中。 (2认同)