Essayez le script avec une connexion à la base de données lorsque le serveur démarre et que tout s'exécute sur cette connexion.
Vous n'aurez donc qu'un seul MongoClient.connect
quand l'application écoute plutôt qu'à chaque requête
const url = "mongodb://adminMongo:[email protected]:12345";
// outline the options for mongo db connection
const mongoOptions = { useUnifiedTopology: true };
// create a new mongo client to connect to the database
const client = new MongoClient(url, mongoOptions);
// connect to mongodb database on start of server
client.connect(function(err) {
if (err) {
console.log('Unable to connect to the MongoDB database');
// exit the process if a connection to the database cannot be made
process.exit(1);
} else {
// create local host server
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
}
});
Ensuite, lorsque vous souhaitez interroger la base de données, vous n'avez pas besoin d'ouvrir une nouvelle connexion
par exemple. cette fonction devrait fonctionner sans avoir besoin de se connecter
function dbInsert(dataCategory, dataTitle, dataStart, dataEnd, dataInterval){
var doc = {data_category:dataCategory,
data_title:dataTitle,
data_start: dataStart,
data_end: dataEnd,
data_interval: dataInterval};
// insert document to 'users' collection using insertOne
statsDB.collection('stats').insertOne(doc, function(err, res) {
if(err) throw err;
console.log("Document inserted");
});
}