繁体   English   中英

MongoDB连接尚未在Node.js中初始化

[英]MongoDB connection not yet initialized in Node.js

我在Node.js中使用MongoDB,方法是将其封装在模块中:

var MongoClient = require('mongodb').MongoClient;

MongoClient.connect(..., function(err, db) {
  if (err) {/* handle */}

  exports.db = db;
});

现在无论我想使用mongoDB连接在哪里

var mongo = require('mongo');
mongo.db.collections(...)

问题是一段时间以来,连接没有初始化,我遇到了“未定义的数据库”问题。

我知道我可以为打开的连接注册一个回调,但是我不想将其与脚本执行结合在一起。

是否有更好的做法来等待开始连接(对于所有地方?)。

我将这种实现方式称为完整封装的示例: strongloop / loopback-connector-mongodb 区别在于,您无需公开内部结构(访问mongo数据库实例),而是公开了对象(您的封装模块)及其方法。

如果您不想自己实现它,而是想使用现成的解决方案,则可以尝试使用mongoskin之类的东西 ,它是node-mongodb-native驱动程序的承诺包装。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM