MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Gli aggiornamenti di mongodb non vengono visualizzati a meno che non si riavvii il server del nodo

Prova lo script con una connessione al database all'avvio del server e tutto viene eseguito su quella connessione.

Quindi avrai solo un MongoClient.connect quando l'app ascolta piuttosto che per ogni query


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}/`);

});
  }
});

Quindi quando vuoi interrogare il database non devi aprire una nuova connessione

per esempio. questa funzione dovrebbe funzionare senza bisogno di connettersi

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