从配置文件

时间:2015-07-12 18:18:39

标签: mongodb

我正在尝试在Windows 7 64位上安装mongodb。我已经解压缩文件并将bin目录复制到c:\ mongodb。在c:\ mongodb下我放置了一个配置文件mongod.cfg,其内容为:

systemLog:
   destination: file
   path: c:\mongod\data\log\mongod.log
storage:
   dbPath: c:\mongod\data\db

然后我运行了以下命令:

mongod.exe --config "C:\mongodb\mongod.cfg" --install

结果是以下错误消息:

error command line: unrecognized line in 'systemLog:'

我试图将cfg文件保存为ANSI和UTF-8,但似乎并不重要。我只是想让mongodb知道我的存储和日志设置。

5 个答案:

答案 0 :(得分:1)

MongoDB配置文件使用YAML表示。在YAML中,可以使用double-quoted stylesingle-quoted styleplain style(也称为“未加引号”)来表示字符串。

由于您的路径字符串同时包含: \,因此您必须在此处使用单引号样式

systemLog:
   destination: file
   path: 'c:\mongod\data\log\mongod.log'
storage:
   dbPath: 'c:\mongod\data\db'

答案 1 :(得分:1)

在我的情况下,这种情况正在发生,因为我有一个旧的db版本正在运行并且安装MSI安装程序并没有升级它。当我运行const { app } = require('electron'); 时,它说我还在运行一个旧的db版本(对我来说是2.2.2)。

我不得不......

  1. 停止Mongo Windows服务
  2. 转到Mongo Download Center page,然后点击所有版本二进制文件链接。
  3. 下载并解压缩zip文件。
  4. 使用zip中的新文件覆盖我的安装位置中的Mongo exe文件。
  5. 使用mongod.exe --version
  6. 删除服务
  7. 使用mongod --config C:\mongodb\mongod.cfg --remove
  8. 安装服务

    我不确定MSI是否知道安装位置或内容,但现在mongod --config C:\mongodb\mongod.cfg --install会返回正确的版本号,而安装服务时则不会mongod --version

答案 2 :(得分:0)

尝试运行完整命令"C:\<install directory>\mongod.exe" --config "C:\<config>" --install并使您的命令提示符以管理员身份运行。

答案 3 :(得分:0)

我预计这是由于3.0开发周期中存储选项发生变化的原因。在一些早期版本候选中,参数使用了不同的情况(例如&#34; wiredtiger&#34;)但3.0最终版本的规范配置选项是#34; wiredTiger&#34;根据文件。几个连续的点发布支持替代变体,但最终被删除。

答案 4 :(得分:0)

以防它帮助其他人:我遇到了同样的问题,问题最终是由于我的PATH环境变量中的旧版mongod(而不是我期望的那个;可能是@ThrowsException得到的)。