Đây là những gì chúng tôi đang sử dụng - nếu kết nối không thành công, nó sẽ cố gắng kết nối lại sau 5 giây. Nó được viết cho mongoose, nhưng chúng tôi chỉ chạy lại kết nối khi phát hiện lỗi, điều này nên được thực hiện cho bất kỳ khuôn khổ nào.
// Connect to mongodb
const connect = function () {
const options = {server: {socketOptions: {keepAlive: 1}}};
mongoose.connect(config.db, options);
};
connect();
mongoose.connection.on('error', err => {
let stack;
if (err) {
stack = err.stack;
}
winston.error('Mongo crashed with error', {err, stack});
}); // eslint-disable-line no-console
mongoose.connection.on('disconnected', () => {
setTimeout(connect, 5000);
});