У mongoDB есть проблемы с переподключением или я делаю это неправильно?

Я использую nodejs и mongoDB - и у меня есть некоторые проблемы с подключением.

Ну собственно "разбудить" проблемы! Он отлично соединяется - очень быстрый, и я в целом доволен результатами.

Моя проблема: Если я не использую соединение какое-то время (я говорю время, потому что период времени колеблется 5+ минут), оно, кажется, застопорилось. Я не получаю события разъединения, это просто зависает.

В конце концов я получаю ответ типа Ошибка: не удалось подключиться к [* .mongolab.com: *] - (* = маскированные значения)

Быстрый перезапуск приложения, и соединение снова здорово. Иногда, если я не перезагружаю приложение, я могу обновить его, и оно счастливо подключается.

Вот почему я думаю, что это проблемы "пробуждения".

Грубый набросок кода:

Я не включил код - я не думаю, что он нужен. Это работает (кроме отключения соединения)

Что следует отметить: Есть только одно «соединение» - я никогда его не закрываю. Я никогда не открываю.

Я использую мангуста, сокетио.

/* constants */

var mongoConnect = 'myworkingconnectionstring-includingDBname';


/* includes */

/* settings */

/* Schema */

var db = mongoose.connect(mongoConnect);

    /* Socketio */

io.configure(function (){
    io.set('authorization', function (handshakeData, callback) {

    });
});

io.sockets.on('connection', function (socket) {

});//sockets

io.sockets.on('disconnect', function(socket) {
    console.log('socket disconnection')
});

/* The Routing */

app.post('/login', function(req, res){  

});

app.get('/invited', function(req, res){

});

app.get('/', function(req, res){

});

app.get('/logout', function(req, res){

});

app.get('/error', function(req, res){

});

server.listen(port);
console.log('Listening on port '+port);

db.connection.on('error', function(err) {
    console.log("DB connection Error: "+err);
});
db.connection.on('open', function() {
    console.log("DB connected");
});
db.connection.on('close', function(str) {
    console.log("DB disconnected: "+str);
});

Я пробовал различные конфигурации здесь, например, открывать и закрывать все время - хотя, я полагаю, общий консенсус заключается в том, чтобы делать то же, что и я, с одним открытием, оборачивающим лот. ??

Я попробовал тестер подключений, который продолжает проверять состояние подключения ... даже если кажется, что все в порядке - проблема все еще возникает.

У меня была эта проблема с первого дня. Я всегда принимал MongoDB вместе с MongoLab. Проблема кажется хуже на localhost. Но у меня все еще есть проблема на Azure и теперь nodejit.su.

Как это происходит везде - это должен быть я, MongoDB или mongolab.

Между прочим, у меня был подобный опыт с драйвером PHP тоже. (чтобы подтвердить это на nodejs, хотя)

Это было бы здорово для некоторой помощи - даже если кто-то просто говорит «это нормально»

заранее спасибо

обкрадывать

Ответы на вопрос(6)

Ваш ответ на вопрос