如何修复MongoError:不支持服务器版本?

时间:2017-12-14 15:53:56

标签: node.js linux mongodb express raspberry-pi

我正在尝试使用MongoDB运行Node.js服务器。我仔细阅读了教程。这是我的app.js文件:

const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');
const app = express();
const MongoClient = require('mongodb').MongoClient;
const asser = require('assert');

app.use(bodyParser.urlencoded({
  extended: true
}));

var url = 'mongodb://localhost:27017/test';
var db;

app.listen(80, () => {
  console.log('listening on 80')
})
MongoClient.connect(url, (err, database) => {
  if (err) return console.log(err)
  db = database

})

app.post('/register', function(req, res) {
  console.log("asdf");

  res.send('1');
  port.write(JSON.stringify(req.body) + "\n");

});

function onOpen() {
  console.log("OPENED");
}

function onData(data) {
  console.log(data);
}

` 但是,当我尝试运行它时,我收到以下错误:

pi@raspberrypi:~/Server $ sudo node app.js
listening on 80
{ MongoError: unsupported server version
at /home/pi/Server/node_modules/mongodb-
core/lib/topologies/server.js:367:39
at /home/pi/Server/node_modules/mongodb-
core/lib/connection/pool.js:542:18
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9) name: 
'MongoError', message: 'unsupported server version' }

我该如何解决这个问题?我的package.json文件说我正在使用版本^ 3.0.0-rc0。我似乎无法在网上找到解决方案。

1 个答案:

答案 0 :(得分:0)

升级到最新版本的MongoDB。数据库系统,而不是package.json中列出的驱动程序。

您还必须稍微更新您的连接代码:

MongoClient.connect(url, (err, client) => {
  if (err) return console.log(err)
  db = client.db('test')
})

应该是

reDim

那是因为mongodb驱动程序3.0.0版的语法有所改变。