Newer
Older
const mongoose = require('mongoose');
const mongooseInstance_ = mongoose.connect(
process.env.MONGODB_URL,
{
useNewUrlParser: true,
useCreateIndex: true,
useFindAndModify: false,
useUnifiedTopology: true,
heartbeatFrequencyMS: 1000 * 5, // 1 sec * 5
serverSelectionTimeoutMS: 1000 * 10 // 1 sec * 10
},
// TODO: make use of the event emitter to indicate each retry in logs & to increase
// the overall timeout to 10 min (see https://mongoosejs.com/docs/connections.html#connection-events)
function( err ){
if( typeof err !== 'undefined' && err !== null ){
console.error( new Error( `Cannot connect to database: ${ process.env.MONGODB_URL }` ) );
}else{
console.log( `Connect established to database: ${ process.env.MONGODB_URL }` );
}
}
);
process.on( 'exit', async ()=>{
const dbClient = await mongooseInstance_;
dbClient.disconnect();