У 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, хотя)
Это было бы здорово для некоторой помощи - даже если кто-то просто говорит "это нормально"
заранее спасибо
обкрадывать