DB提供模块,回调

时间:2011-10-18 10:16:51

标签: mongodb node.js coffeescript

对于我的NodeJS项目,我想创建一个简单的模块,它将为我提供DB句柄。我想到了这样的事情:

settings = module.exports.settings =
    db: 'test'
    clear_interval: -1
    host: '127.0.0.1'
    port: '27017'
    auto_reconnect: true

{Db, Connection, Server, Collection, BSON, ObjectID} = require 'mongodb'

db = new Db settings.db, new Server settings.host, settings.port, { auto_reconnect: settings.auto_reconnect }
db.open ->
    module.exports.db = db

但这真的很安全吗?或者还有另一种方法可以确保在加载模块时正确设置module.exports.db吗?

编辑在打字之前意外点击了输入。

1 个答案:

答案 0 :(得分:1)

那不行。

module.exports.db在需要模块后设置。

你应该做的事情就像是

module.exports.DB = function (cb) {
  getDbAsync(cb);
}

强制你的api异步