В данный момент у меня всё достаточно тривиально:
// Модуль бд
var mongoose = require('mongoose')
module.exports.connect = () => {
mongoose.connect('mongodb://....',
{
useNewUrlParser: true,
useUnifiedTopology: true
}
)
var db = mongoose.connection
db.on('error', console.error.bind(console, 'connection error'))
db.once('open', () => {
console.log('Connection Succeeded')
})
return db
}
// app.js
const mongodb_conn_module = require('./config/mongoConnection')
const db = mongodb_conn_module.connect()
Код откровенно херовый, но я написал его еще год назад, когда только сел осваивать ноду и js вообще)
Вопрос в том, как правильно обрабатывать событие error? Оно случается стабильно, когда соединение рвется. Так как база в облаке, то вероятность разрыва крайне высока. Mongoose, вроде, по умолчанию имеет параметр keepAlive: true, но что-то он не спасает.