2016-12-22 6 views
4

У меня есть проект MEAN и это фрагмент из моего server.jsMongoDB соединение мангуста открытым обратный вызов не получает называется

var db = require('./config/db'); 
// url : 'mongodb://localhost/cdnserver' 
// results are same for 127.0.0.1 or the machines ip 
console.log(mongoose.connect(db.url)); 

mongoose.set('debug', true); 
mongoose.connection.on('connected', function() { 
    console.log('Mongoose default connection open to ' + db.url); 
}); 

// If the connection throws an error 
mongoose.connection.on('error',function (err) { 
    console.log('Mongoose default connection error: ' + err); 
}); 

// When the connection is disconnected 
mongoose.connection.on('disconnected', function() { 
    console.log('Mongoose default connection disconnected'); 
}); 

Это установка, которая работает хорошо на протяжении 3 месяцев. Теперь я копирую весь мой стек MEAN вместе с базой данных на другую машину. Я взял mongodump и сделал mongorestore. Восстановленная настройка db отлично выглядит через монго из терминала.

Однако при запуске сервера вызов вызова с открытым доступом не вызван. отключены и обратные вызовы ошибок вызываются, если я остановлю службу mongodb. Как мне отладить это дальше?

Я подключаю консольный выход обеих настроек.

Настройка 1:

Mongoose { 
    connections: 
    [ NativeConnection { 
     base: [Circular], 
     collections: {}, 
     models: {}, 
     replica: false, 
     hosts: null, 
     host: 'localhost', 
     port: 27017, 
     user: undefined, 
     pass: undefined, 
     name: 'cdnserver', 
     options: [Object], 
     otherDbs: [], 
     _readyState: 2, 
     _closeCalled: false, 
     _hasOpened: false, 
     _listening: false, 
     db: [Object] } ], 
    plugins: [], 
    models: {}, 
    modelSchemas: {}, 
    options: { pluralization: true } } 
Server up on 80 
Mongoose default connection open to mongodb://localhost/cdnserver 
1 
Mongoose: videos.find({}) { skip: 0, limit: 5, fields: undefined } 

Настройка 2:

Mongoose { 


connections: 
    [ NativeConnection { 
     base: [Circular], 
     collections: {}, 
     models: {}, 
     replica: false, 
     hosts: null, 
     host: 'localhost', 
     port: 27017, 
     user: undefined, 
     pass: undefined, 
     name: 'cdnserver', 
     options: [Object], 
     otherDbs: [], 
     _readyState: 2, 
     _closeCalled: false, 
     _hasOpened: false, 
     _listening: false, 
     db: [Object] } ], 
    plugins: [], 
    models: {}, 
    modelSchemas: {}, 
    options: { pluralization: true } } 
Server up on 80 
1 
1 
Mongoose default connection disconnected 
Mongoose default connection error: Error: connection closed 

кот /var/log/mongodb/mongodb.log показывает точно такой же вывод, в обеих машинах.

Обновление 1: Установка начала правильно работать из-за синего цвета, и она снова остановилась. Я не могу понять, что это делает.

+0

Можете ли вы подключить монго из своего терминала? Возможно, вы включили аутентификацию в новой БД? – GilZ

+0

@GilZ Я могу подключиться, нет аутентификации. плюс, когда система работала с перерывами, я не менял никакой настройки аутентификации. – 55597

+0

Проверяли ли вы журнал сервера mongodb обычно в '/ var/log/mongodb/mongodb.log', когда ваше соединение падает? –

ответ

0

Я понял, наконец, новая установка использовала новую версию nodejs.

Когда я переехал в 6.x из 7.x, он работал нормально. Я думаю, что мангуста, узел 7, версии mongodb не сочетались друг с другом.

Смежные вопросы