1

我正在尝试在本地连接到 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

我只是觉得它在我的公司计算机上工作但在我将所有内容设置完全相同后不能在我的家用计算机上工作是很奇怪的。

4

2 回答 2

2

npm uninstall rethinkdb

进而

npm install rethinkdb@1.12.0-1

这应该可以解决您的问题(您需要服务器和驱动程序具有相同的主要版本 - 前两个数字)。

如果您在某个时候更新了服务器,请不要忘记更新驱动程序

npm install rethinkdb
于 2014-07-10T06:25:47.477 回答
1

确保您的 RethinkDB JavaScript 驱动程序是最新的,并且服务器和客户端驱动程序版本匹配(检查rethinkdb --versionnpm listrethinkdb

"ERROR: this is the rdb protocol port (bad magic number)"正在改进错误消息以清楚表明版本不匹配,请参阅 GitHub 上的此问题: https ://github.com/rethinkdb/rethinkdb/issues/2302

于 2014-07-10T05:46:07.823 回答