sql >> Databáze >  >> NoSQL >> MongoDB

použijte globální proměnnou ke sdílení db mezi moduly

Obvykle zahrnuji soubor projektových utilit, který obsahuje řadu těchto věcí, jen aby to bylo snadné. Funguje jako pseudoglobál, ale bez mnoha obvyklých problémů, které globalizace přináší.

Například,

projectUtils.js

module.exports = {

  initialize: function(next){
    // initialization actions, there can be many of these
    this.initializeDB(next);
  },

  initializeDb: function(next){
    mongoClient.open(function(err, mongoClient) {
      if(err) return next(err);
      module.exports.db = mongoClient.db(DB);
      next();
    });
  }
}

app.js

var projectUtils = require('projectUtils');

// (snip)
projectUtils.initialize(function(err) {
  if(err) throw err; // bad DB initialization
  // After this point and inside any of your routes,
  // projectUtils.db is available for use.
  app.listen(port);
}

Použitím asynchronní funkce initialize() si můžete být jisti, že všechna databázová připojení, souborové I/O atd. jsou provedeny před spuštěním serveru.



  1. Kdy vyprší platnost dokumentu mongodb po jeho aktualizaci?

  2. Jak vytvořit připojení k databázi Mongo v context.xml ve webovém projektu Java?

  3. Jak odstranit všechny položky ze sbírky MongoDB

  4. Redis publish-subscribe:Je zaručeno, že Redis doručí zprávu i při velkém stresu?