我正在尝试使用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。我似乎无法在网上找到解决方案。
答案 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版的语法有所改变。