节点js – mongoose不能访问包含在包中的数据库

我已经开始在平均技术方面的工作,

我有一个模块myModule; 它具有访问数据库的路由,服务,模型;

我创build了另一个项目,myAnotherModule在一个单独的目录,并有“npm链接”编辑到myModule; 虽然我尝试在myAnotherModule中使用mongoose,但无法使用正确的凭据访问数据库;

在myAnotherModule中的以下代码中,

var db = mongoose.connection.db; var mongoDriver = mongoose.mongo; var gfs = new grid(db, mongoDriver); 

它没有findmongoose.connection.db和db是未定义的; 如果我在myModule中使用这些行,那么代码工作正常;

为什么myAnotherModule无法findmongoose.connection.db? npm链接如何工作?

我会感谢在这方面的任何帮助

-Indu

       

网上收集的解决方案 "节点js – mongoose不能访问包含在包中的数据库"

尝试连接以下方法:

 var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test'); var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function callback () { console.log("h"); }); exports.test = function(req,res) { res.render('test'); }; 

我最近也遇到了这个问题。 通常人们分开数据库configuration,从而导致这个问题 尝试在确保mongodb已连接的适当的块中声明。

  db.once('open', function callback () { var gfs = new grid(mongoose.connection.db, mongoDriver); });