mongodbを使用するnodejsアプリケーションを作成しています。エクスポートされた変数は、ノードjsで関数がエクスポートされる間に未定義になりました
私はmongodbに一度だけ接続しています。接続プーリングを実現するために、他のすべてのAPIでdb
を使用したいと思います。
私はMongoDBの接続用コードを次ています
var mongodb = require('mongodb');
var MongoClient = require('mongodb').MongoClient;
var db;
var mongoUrl = "mongodb://localhost:27017/testDB";
/**
* Connects to the MongoDB Database with the provided URL
*/
exports.connect = function(callback){
if(!db){
MongoClient.connect(mongoUrl, function(err, _db){
if (err) { throw new Error('Could not connect: '+err); }
db = _db;
console.log(db);
connected = true;
console.log(connected +" is connected?");
callback(db);
});
}else{
console.log("Not connected tis time as I am already connected");
callback(db);
}
};
exports.db = db;
サーバがapp.js
から開始したとき、私は一度だけconnect
を呼び出しています。 signin, register
のような他のAPIが呼び出されるときは、エクスポートされたdbを単に使うべきです。
だから私のAPIコールは、(API呼び出しに構文エラーを無視してください:D):のようなものでしょう
var mongo = require('./mongo');
collection = mongo.db.collection("testCollection");
// Here mongo.db id undefined
collection.findOne({"name":"John"}, function(err, result){
// Do your stuff with result here
});
他のStackOverflowの記事から、私は
module.export{
db: db,
connect : function(callback){
//function code goes here
}
}
としてmongo.jsのようなものを試してみました
でもまだ私はundefined
を取得していますmongo.db
他のファイルでmongo.dbにどうやってアクセスしますか? ありがとう
を、その後どのように私が更新になるだろう値?道があるか、それは不可能か –