2016-05-13 25 views
5

Ho ottenuto Unhandled rejection MongoError: cannot connect to server quando eseguo il mio progetto meanjs.Rifiuto non gestito MongoError: impossibile connettersi al server in MongoDB

In precedenza era in esecuzione bene, ma quando l'aggiornamento nodejs 5.11.1, mongodb 3.2.6, "mongoose": "^4.4.16" e "connect-mongo": "^1.1.0", quindi questo errore ottenendo.

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)

in config file di codice

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

Nessuno può aiutarmi?

+0

è possibile controllare se MongoDB è in esecuzione con la stringa di connessione specificata ? – Astro

+0

dalla shell mongo posso accedere al mio db @Astro –

risposta

16

Infine ho ottenuto dove si è verificato l'errore !! Ho postato questa risposta perché potrebbe aiutare gli altri.

Si è verificato un problema durante l'aggiornamento della versione mongoose e connect-mongo.

necessità di aggiornare:

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

e

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

problema principale sia in MongoStore({db: db.connection.db anziché mediante l'utilizzo

db: db.connection.db 

ora che usando

mongooseConnection: db.connection 

che ha risolto il mio problema :)

0

Come io non avevo un db variable, la mia soluzione era:

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

Speranza che aiuta