Prova skriptet med en anslutning till databasen när servern startar och allt körs av den anslutningen.
Så du har bara en MongoClient.connect
när appen lyssnar snarare än för varje fråga
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}/`);
});
}
});
När du sedan vill fråga databasen behöver du inte öppna en ny anslutning
t.ex. den här funktionen ska fungera utan att behöva ansluta
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");
});
}