未处理的拒绝MongoError:无法连接到MongoDB中的服务器

我得到了Unhandled rejection MongoError: cannot connect to server运行我的meanjs项目时Unhandled rejection MongoError: cannot connect to server

以前运行良好,但是当更新nodejs 5.11.1mongodb 3.2.6"mongoose": "^4.4.16""connect-mongo": "^1.1.0",那么这个错误就得到了。

未处理的拒绝MongoError:无法连接到服务器上的Collection.listIndexes(/home/shaishab/Project/Open-Source/BS-Commerce/node_modules/mongodb/lib/collection.js:1750:11)在indexInformation(/ home / shaishab /项目/开源/ BS-Commerce / node_modules / mongodb / lib / db.js:1625:25)在Db.indexInformation(/ home / shaishab / Project / Open-Source / BS-Commerce / node_modules / mongodb / lib / (/ home / shaishab / db.js:1589:44)在ensureIndex(/home/shaishab/Project/Open-Source/BS-Commerce/node_modules/mongodb/lib/db.js:1082:8)在Db.ensureIndex项目/开源/ BS-Commerce / node_modules / mongodb / lib / db.js:1058:44)在MongoStore.setAutoRemoveAsync(/ home / shaishab / js:1820:13) Project / Open-Source / BS-Commerce / node_modules / connect-mongo / src / index.js:123:40)at MongoStore.handleNewConnectio 在MongoStore(/ home / shaishab / Project / Open-Source / BS-Commerce)的nAsync(/home/shaishab/Project/Open-Source/BS-Commerce/node_modules/connect-mongo/src/index.js:116:18) /node_modules/connect-mongo/src/index.js:95:26)在module.exports(/home/shaishab/Project/Open-Source/BS-Commerce/config/express.js:101:10)在对象。 (/home/shaishab/Project/Open-Source/BS-Commerce/server.js:31:38)在Module._compile(module.js:413:34)在Object.Module._extensions..js(module.js :422:10)

在configuration文件代码

 var session = require('express-session'), MongoStore = require('connect-mongo')(session), mongoose = require('mongoose'); var db = mongoose.connect('dbUrl'); app.use(session({ saveUninitialized: true, resave: true, secret: config.sessionSecret, store: new MongoStore({ db: db.connection.db, collection: config.sessionCollection }) })); 

谁能帮我 ?

最后我得到了错误发生的地方! 我发布这个答案,因为它可能会帮助别人。

更新mongooseconnect-mongo版本时出现问题。

需要更新:

 MongoStore = require('connect-mongo')(session) 

 app.use(session({ saveUninitialized: true, resave: true, secret: config.sessionSecret, store: new MongoStore({ mongooseConnection: db.connection, collection: config.sessionCollection }) })); 

主要的问题是在MongoStore({db: db.connection.db而不是使用

 db: db.connection.db 

现在使用

 mongooseConnection: db.connection 

这解决了我的问题:)

由于我没有一个db variable ,我的解决scheme是:

 var mongoStore = require('connect-mongo')(session); var mongoose = require('mongoose'); const connection = mongoose.createConnection('mongodb://localhost/chester'); app.use(session({ secret: config.secrets.session, resave: true, saveUninitialized: true, store: new mongoStore({mongooseConnection: connection}) })); 

希望能帮助到你