我有一台运行El Capitan 10.11的mac与node.js v6.9.1。 我正在尝试用自制软件安装mongodb 3.2。它似乎安装但我运行mongod时出现此错误:
Found an invalid index { v: 2, key: { version: 1 }, name:
"incompatible_with_version_32",ns: "admin.system.version" } on the
admin.system.version collection: this version of mongod cannot
build new indexes of version number 2
我认为可能是因为我之前有另一个版本的mongodb,所以我卸载了以前下载并通过'brew list'验证的所有软件包。
答案 0 :(得分:1)
此版本的mongod无法构建版本号为2的新索引
您好像以前安装了MongoDB 3.4并使用与MongoDB 3.2 not backward compatible的新功能创建了一些数据文件。 MongoDB 3.4引入了支持language-specific collation的v:2
索引。
我认为可能是因为之前我有另一个版本的mongodb,所以我卸载了之前下载并通过' brew list'验证的所有软件包。
卸载Homebrew软件包通常不会删除软件包公式中未指定的文件(或已指定但现在有其他文件的目录)。这有意使您的MongoDB dbPath
保持不变,因此包更新不会影响您的数据。
知道我在这里做错了吗?
您可以采取几种方法来解决此问题:
dbPath
中的先前数据不重要(例如,可以重新创建的开发/测试数据),请将dbPath
中的所有文件移动到新位置,以便3.2服务器以空数据目录。 Homebrew的默认dbPath
(假设您将MongoDB作为服务启动/停止)将为/usr/local/var/mongodb
。