我正在尝试在本地连接到RethinkDB,我收到一条奇怪的错误消息,我找不到任何其他文档。
此连接适用于我的办公室计算机,但在家中的MacBook Pro 10.9.2上无效。
当我运行我的应用程序时,我收到此错误:
{ name: 'RqlDriverError',
msg: 'Server dropped connection with message: "ERROR: this is the rdb protocol port (bad magic number)"',
message: 'Server dropped connection with message: "ERROR: this is the rdb protocol port (bad magic number)"' }
我要求在文件顶部放置RethinkDB。这是我的应用中无法连接的代码:
r.connect({
host: 'localhost',
port: 28015
},
function(err, conn) {
if (err){
return console.error(err);
};
r.db('Tictactoe').table('Users').insert({
move: req.query.move
}).run(conn, function(err, res){
if (err){
return console.error(err);
}
});
});
这是我的Github回购链接。 https://github.com/RaySinlao/tic_tac_toe/blob/master/app.js
我认为在我设置完全相同之后,它在我的公司计算机上运行而不是我的家用计算机是非常奇怪的。
答案 0 :(得分:2)
运行
npm uninstall rethinkdb
然后
npm install rethinkdb@1.12.0-1
这应该可以解决您的问题(您需要服务器和驱动程序具有相同的主要版本 - 前两个数字)。
如果在某些时候更新服务器,请不要忘记使用
更新驱动程序npm install rethinkdb
答案 1 :(得分:1)
确保您的RethinkDB JavaScript驱动程序是最新的,并且服务器和客户端驱动程序版本匹配(检查rethinkdb --version
和npm list
rethinkdb
包。)
正在改进错误消息"ERROR: this is the rdb protocol port (bad magic number)"
以明确指出版本不匹配,请参阅GitHub上的此问题:https://github.com/rethinkdb/rethinkdb/issues/2302