MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

les mises à jour de mongodb ne s'affichent que si je redémarre le serveur de nœud

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");
  });
}