это же элементарно
вариант с кодом который закрывает соединение правильно
const mongodb = require('mongodb');
const MongoClient = mongodb.MongoClient;
(async()=>{
global.mongodb = new MongoClient(`mongodb://${global.config.mongodb.user}:${global.config.mongodb.password}@${global.config.mongodb.ip}:${global.config.mongodb.port}/`);
global.mongodb.on("close", () => {
console.log(`mongodb connection closed`);
throw new Error("mongodb disconnected");
});
await global.mongodb.connect();
console.log('Connected to mongodb');
})();
А еще лучше использовать пул соединений ( если этот код постоянно что то делает в базе , если 1 раз в день то пул не актуален )
const mongodb = require('mongodb');
const MongoClient = mongodb.MongoClient;
(async()=>{
global.mongodb = await MongoClient.connect(`mongodb://${global.config.mongodb.user}:${global.config.mongodb.password}@${global.config.mongodb.ip}:${global.config.mongodb.port}/`, { useUnifiedTopology: true });
global.mongodb.on("close", () => {
console.log(`mongodb connection closed`);
throw new Error("mongodb disconnected");
});
console.log('Connected to mongodb');
})();