nodejsの一つの疑問
nodeJsはmongodbデータベースに接続し、サーバーによって該当URLを生成するので、方法を書きました.
最初に参照を追加:
しかし、不可解な問題が発生しました.どのようにシステムを実行しても、consolie.log("config database url");一回だけ出力!
これはなぜですか?NodeJsの仕組み?それともexportsの原因ですか?個人的な推測はrequire('mongodb').connect(url Factory.url,fn);このリンク方式は、sessionのような方式を採用しています.
まずここに書いて、後で研究します.
var createURL = function(){
var mongourl = "";
if(process.env.VCAP_SERVICES){
mongourl = .....;
}else{
mongourl = ...;
}
console.log("config database url...");
return mongourl;
}
exports.url = createURL();
モデル層でデータベースを接続する場合、直接に変更方法を呼び出すだけでいいです.最初に参照を追加:
var urlFactory = require('./dbFactory');
その後、直接に呼び出します.require('mongodb').connect(urlFactory.url, function(err, conn){
// users
conn.collection('users', function (err, collection) {
// do something
});
});
このように、データベースに接続する必要があるところは全部url Factory.urlを呼び出す必要があります.ですから、私はもともとキャッシュなどを書いて、urlを一時的に預けて、毎回見直し、再生成する必要がないようにします.しかし、不可解な問題が発生しました.どのようにシステムを実行しても、consolie.log("config database url");一回だけ出力!
これはなぜですか?NodeJsの仕組み?それともexportsの原因ですか?個人的な推測はrequire('mongodb').connect(url Factory.url,fn);このリンク方式は、sessionのような方式を採用しています.
まずここに書いて、後で研究します.