【发布时间】:2014-12-26 20:43:42
【问题描述】:
//module.js
exports.doA = function(callback) {
db.asyncConnect(/* connect options */, function(err, database) {
if(err == null) {
exports.db = database;
}
});
}
exports.db = null;
// test1.js
var mydb = require('module');
console.log(mydb);
// test2.js
var db = require('module').db;
console.log(db);
var mydb = require('module'); 与 var mydb = require('module').db; 有何不同?
更新:使用我观察到的代码和行为进行更新
// file: db.js
exports.init = function (start_server){
MongoClient.connect(url, {
db: {
raw: true
},
server: {
poolSize: 5
}
},
function(err, database) {
exports.db = database;
if(err == null)
start_server();
}
);
}
exports.db = null;
.
// file: test.js
var mongodb = require('./db.js');
var db = require('./db.js').db;
console.log("MongoDb " + mongodb.db);
console.log("DB " + db);
输出: MongoDb [对象对象] 数据库空
问。变量db 出来为空,但mongodb.db 有值?
即使我在变量中分配了mongodb.db 的值,该值也会为空。
【问题讨论】:
标签: node.js