2016-05-13 18 views
5

Po uruchomieniu projektu meanjs otrzymałem Unhandled rejection MongoError: cannot connect to server.Nieobsługiwane odrzucenie MongoError: nie można połączyć się z serwerem w MongoDB

Wcześniej został uruchomiony w porządku, ale kiedy zmiana nodejs 5.11.1, mongodb 3.2.6, "mongoose": "^4.4.16" i "connect-mongo": "^1.1.0", wtedy ten błąd się.

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)

w kodzie pliku konfiguracyjnego

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

Może ktoś mi pomóc?

+0

można sprawdzić, czy MongoDB pracuje z określonym ciągu połączenia ? – Astro

+0

z powłoki mongo Mogę uzyskać dostęp do db @Astro –

Odpowiedz

16

W końcu dotarłem do miejsca, gdzie wystąpił błąd !! Zamieszczam tę odpowiedź, ponieważ może to pomóc innym.

Wystąpił problem podczas aktualizacji mongoose i connect-mongo wersji.

konieczność aktualizacji:

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

i

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

Głównym problemem było w MongoStore({db: db.connection.db zamiast użycia

db: db.connection.db 

teraz korzystając

mongooseConnection: db.connection 

które rozwiązać mój problem :)

0

Jak nie mieć db variable, moje rozwiązanie było:

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

nadzieję, że pomoże