在NodeJS中打开持久mongo数据库连接的最佳方法是什么

问题描述

|| 我正在使用node-mongodb-native驱动程序,我正在寻找一种打开持久数据库连接的方法,而不是每次都打开/关闭它。 简化的连接可能看起来像这样...
var DB = new mongo.Db(\'vows\',new mongo.Server(\"127.0.0.1\",27017,{})),connection = DB.open(function(err,db) {
       // Here we have access to db
    });
如何使db对象可被应用程序中的任何模块访问?不必为每个模块分别打开连接? 可以使用module.exports完成吗?还是全局变量?     

解决方法

编辑:不要使用猫鼬,使用
mongo-col
mongo-client
之类的东西。然后在您的应用程序中打开一个客户端。我有一个“ 3”文件,可以导出正确打开和配置的mongo客户端。
Mongoose
是mongodb之上的坚实抽象,可让您更轻松地处理mongodb。值得一看。 您真正想做的是每次使用mongo进行任何操作时都重新打开客户端。 您没有保持与任何其他数据库的开放连接。 只需将您的ѭ5连同一些辅助功能/包装器功能一起放入模块中。     ,我的解决方案:
getClient = function(cb) {
    if(typeof client !== \"undefined\") {
        return cb(null,client);
    } else {
        db.open(function(err,cli) {
            client = cli;
            getClient(cb);
        });
    }
}
现在,代替
db.open(function(err,client) {
    ...stuff...
});
做:
getClient(function(err,client) {
    ...stuff...
});
您的第一个数据库调用打开一个连接,其他人使用该连接。 顺便说一句:关于检查客户端是否还活着的建议?