mongodb v3.2无法在mac中运行

时间:2017-04-02 01:41:55

标签: mongodb macos

我有一台运行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'验证的所有软件包。

1 个答案:

答案 0 :(得分:1)

  

此版本的mongod无法构建版本号为2的新索引

您好像以前安装了MongoDB 3.4并使用与MongoDB 3.2 not backward compatible的新功能创建了一些数据文件。 MongoDB 3.4引入了支持language-specific collationv:2索引。

  

我认为可能是因为之前我有另一个版本的mongodb,所以我卸载了之前下载并通过' brew list'验证的所有软件包。

卸载Homebrew软件包通常不会删除软件包公式中未指定的文件(或已指定但现在有其他文件的目录)。这有意使您的MongoDB dbPath保持不变,因此包更新不会影响您的数据。

  

知道我在这里做错了吗?

您可以采取几种方法来解决此问题:

  • 安装MongoDB 3.4服务器而不是3.2。
  • 按照记录的步骤downgrade MongoDB 3.4 to 3.2。这将需要使用MongoDB 3.4从数据文件中删除不兼容的功能。
  • 如果dbPath中的先前数据不重要(例如,可以重新创建的开发/测试数据),请将dbPath中的所有文件移动到新位置,以便3.2服务器以空数据目录。 Homebrew的默认dbPath(假设您将MongoDB作为服务启动/停止)将为/usr/local/var/mongodb