2016-05-13 2 views
5

Я получил Unhandled rejection MongoError: cannot connect to server при запуске моего проекта meanjs.Unhandled rejection MongoError: не удается подключиться к серверу в MongoDB

Ранее работала нормально, но когда обновление nodejs 5.11.1, mongodb 3.2.6, "mongoose": "^4.4.16" и "connect-mongo": "^1.1.0", то эта ошибка становится.

Unhandled rejection MongoError: cannot connect to server at Collection.listIndexes (/home/shaishab/Project/Open-Source/BS-Commerce/node_modules/mongodb/lib/collection.js:1750:11) at indexInformation (/home/shaishab/Project/Open-Source/BS-Commerce/node_modules/mongodb/lib/db.js:1625:25) at Db.indexInformation (/home/shaishab/Project/Open-Source/BS-Commerce/node_modules/mongodb/lib/db.js:1589:44) at ensureIndex (/home/shaishab/Project/Open-Source/BS-Commerce/node_modules/mongodb/lib/db.js:1082:8) at Db.ensureIndex (/home/shaishab/Project/Open-Source/BS-Commerce/node_modules/mongodb/lib/db.js:1058:44) at ensureIndex (/home/shaishab/Project/Open-Source/BS-Commerce/node_modules/mongodb/lib/collection.js:1820:13) at Collection.ensureIndex (/home/shaishab/Project/Open-Source/BS-Commerce/node_modules/mongodb/lib/collection.js:1808:44) at MongoStore.setAutoRemoveAsync (/home/shaishab/Project/Open-Source/BS-Commerce/node_modules/connect-mongo/src/index.js:123:40) at MongoStore.handleNewConnectionAsync (/home/shaishab/Project/Open-Source/BS-Commerce/node_modules/connect-mongo/src/index.js:116:18) at MongoStore (/home/shaishab/Project/Open-Source/BS-Commerce/node_modules/connect-mongo/src/index.js:95:26) at module.exports (/home/shaishab/Project/Open-Source/BS-Commerce/config/express.js:101:10) at Object. (/home/shaishab/Project/Open-Source/BS-Commerce/server.js:31:38) at Module._compile (module.js:413:34) at Object.Module._extensions..js (module.js:422:10)

в конфигурационном файле кода

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 
     }) 
})); 

Может ли один помочь мне?

+0

Вы можете проверить, если MongoDB работает с заданной строкой подключения ? – Astro

+0

от mongo shell Я могу получить доступ к моему db @Astro –

ответ

16

Наконец-то я получил ошибку там! Я отправляю этот ответ, потому что это может помочь другим.

Неисправность возникла при обновлении mongoose и connect-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 

, что решить мою проблему :)

0

Как я не имел db variable, мое решение было:

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}) 
    })); 

надеюсь, что это помогает

Смежные вопросы