Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MongoError: connection 0 to localhost:27017 timed out

events.js:141
      throw er; // Unhandled 'error' event
MongoError: connection 0 to localhost:27017 timed out
at Function.MongoError.create (/home/ubuntu/scripts/node_modules/mongodb-core/lib/error.js:29:11)
    at Socket.<anonymous> (/home/ubuntu/scripts/node_modules/mongodb-core/lib/connection/connection.js:184:20)
    at Socket.g (events.js:260:16)
    at emitNone (events.js:67:13)
    at Socket.emit (events.js:166:7)
    at Socket._onTimeout (net.js:318:8)
    at _runOnTimeout (timers.js:524:11)
    at _makeTimerTimeout (timers.js:515:3)
    at Timer.unrefTimeout (timers.js:584:5)

Well there is no error during connection, but when try to save some models/collections it runs for a while and then it throws this error. BTW I also have another node process connected to the same mongodb server. Any help is highly appreciated.

like image 432
Prata Avatar asked Dec 30 '16 10:12

Prata


3 Answers

const mongoose = require('mongoose');
const option = {
    socketTimeoutMS: 30000,
    keepAlive: true,
    reconnectTries: 30000
};

const mongoURI = process.env.MONGODB_URI;
mongoose.connect(mongoURI, option).then(function(){
    //connected successfully
}, function(err) {
    //err handle
});
like image 192
Prata Avatar answered Nov 16 '22 23:11

Prata


Your query is taking a long time. And mongo itself has a default time out set. So it times out, if the query takes longer than the timeout time.

like image 5
Shreya Batra Avatar answered Nov 16 '22 22:11

Shreya Batra


you have to use this configs on your connection: keepAlive: 300000, connectTimeoutMS: 30000

like image 3
Lucas Assmann Avatar answered Nov 16 '22 23:11

Lucas Assmann