MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

използвайте глобална променлива за споделяне на db между модула

Обикновено включвам файл с помощни програми на проекта, който съдържа няколко от тези неща, само за да го улесня. Функционира като псевдо глобален, но без много от обичайните проблеми, които глобалните включват.

Например,

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

С помощта на асинхронна функция initialize() можете да сте сигурни, че всички връзки към базата данни, I/O на файлове и т.н. са направени преди стартиране на сървъра.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Може ли Data Store да се използва отново в друг различен Mongo сървър?

  2. MongoDB - Развийте масив с помощта на агрегиране и премахнете дубликатите

  3. Как да използвам fetchNewObject с update.one ReactiveMongo?

  4. как да използвам mongoDB като търсачка?

  5. Ред на ключовите стойности в mongoDb