如何解决在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...
});
您的第一个数据库调用打开一个连接,其他人使用该连接。
顺便说一句:关于检查客户端是否还活着的建议?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。