我正在尝试在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知道我的存储和日志设置。
答案 0 :(得分:1)
MongoDB配置文件使用YAML表示。在YAML中,可以使用double-quoted style,single-quoted style或plain 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)。
我不得不......
mongod.exe --version
mongod --config C:\mongodb\mongod.cfg --remove
我不确定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得到的)。