Raspberry Pi:MongoError:localhost上的服务器:27017报告线路版本0,但此版本的Node.js驱动程序至少需要2(MongoDB2.6)

时间:2018-03-08 18:56:23

标签: node.js mongodb raspberry-pi

我尝试设置MongoDB并使用Node.js获取与数据库的连接。 我目前正在使用Raspberry Pi 2.并且MongoDB版本= 2.4。

如果我尝试执行此代码:

var MongoClient = require('mongodb').MongoClient; 
var url = "mongodb://localhost:27017/mydb";
MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  console.log("Database created!");
  db.close();
});

我收到了这个错误:
MongoError:localhost上的服务器:27017报告线路版本0,但此版本的Node.js驱动程序至少需要2(MongoDB2.6)。

数据库看起来像这样:
{" _id" :ObjectId(" 5aa1719e551ea6f4212f71c2")," numer" :1}
{" _id" :ObjectId(" 5aa1805aa17e0c953e4ec284")," numer" :1," name" :"测试" }

也许是Pi的版本。但必须有其他机会去做 谢谢你的帮助:)

3 个答案:

答案 0 :(得分:0)

这看起来像是节点驱动程序和数据库之间的版本兼容性问题。 MongoDB 2.4相当陈旧; recent versions节点驱动程序可能不支持早于MongoDB 2.6的版本。

尝试更新以使用更新版本的MongoDB; MongoDB 2.4已经过了end-of-life

答案 1 :(得分:0)

我已将我的mongo数据库版本从2.4.9升级到3.4.15以解决此问题。版本更新后它适用于我。

答案 2 :(得分:0)

感谢所有答案。

我在树莓派上找到了docker的解决方法。

为此,我在pi上安装了hypriot(经docker优化的pi os),然后启动了MongoDB docker容器。

有关更多信息:https://blog.hypriot.com/getting-started-with-docker-on-your-arm-device/