我尝试设置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的版本。但必须有其他机会去做 谢谢你的帮助:)
答案 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/