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. Mongodbがクエリと等しくないが機能しない

    2. ClusterControlを使用してデータベースの構成テンプレートを管理する方法

    3. MongoObjectIdをシリアル化するときにJSON.NETキャストエラー

    4. MongoDB _id(ObjectId)は昇順で生成されますか?