MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

użyj zmiennej globalnej do współdzielenia bazy danych między modułami

Zazwyczaj dołączam plik narzędzi projektu, który zawiera wiele z tych rzeczy, aby to ułatwić. Funkcjonuje jako pseudoglobal, ale bez wielu typowych problemów, które wiążą się z globalami.

Na przykład

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

Używając asynchronicznej funkcji initialize(), możesz mieć pewność, że wszystkie połączenia z bazą danych, operacje wejścia/wyjścia plików itp. zostaną wykonane przed uruchomieniem serwera.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Znajdź dokumenty, których pole tablicy zawiera co najmniej n elementów danej tablicy

  2. Mongoose:znajdź dokumenty o mieszanym schemacie z wieloma wpisami

  3. Jak sprawdzić, czy wtórny jest zsynchronizowany teraz, czy nie?

  4. Korzystanie z wielu aspektów w MongoDB Spring Data

  5. Architektura dla bezpieczeństwa:przewodnik po MongoDB