Dit is wat we gebruiken - als de verbinding mislukt, probeert het na 5 seconden opnieuw verbinding te maken. Het is geschreven voor mangoest, maar we voeren gewoon de verbinding opnieuw uit bij het detecteren van fouten, wat voor elk framework zou moeten worden gedaan.
// 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);
});