Часть вашего запроса занимает много времени.Вы можете избежать тайм-аута, передав параметры с connectTimeoutMS, reconnectTries
var uri = 'mongodb://USENAME:PASSWORD@host1:port1,host2:port2/database?authSource=admin';
var options = {};
options.server = {
auto_reconnect: true,
poolSize: 5,
socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 },
reconnectTries: 3000
};
options.replset = { //For Replica set
auto_reconnect: true,
poolSize: 5,
socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 },
reconnectTries: 3000
};
var db = mongoose.createConnection(uri, options);
mongoose.connection.on('error', function(err) {
console.log('MONGODB ERROR MONGOOSE LEVEL ' + server, err);
});
db.on('connecting', function() {
console.info('MONGODB ' + server + ' connecting.');
});
db.on('error', function(err) {
console.log('MONGODB ERROR ' + server, err);
});
db.on('close', function(err) {
console.log('MONGODB CLOSE ' + server, err);
});
db.on('connected', function() {
console.log('MONGODB ' + server + ' connected successfully.');
});
db.once('open', function callback() {
console.log('MONGODB ' + server + ' opened successfully.');
});
db.on('reconnected', function() {
console.log('MONGODB ' + server + ' reconnected.');
});
db.on('timeout', function() {
console.log('MONGODB ' + server + ' timeout.');
});
db.on('disconnected', function() {
console.log('MONGODB ' + server + ' disconnected');
});