Node.js 为什么我的猫鼬模型在NPM模块中时不能访问我的数据库?

Node.js 为什么我的猫鼬模型在NPM模块中时不能访问我的数据库?,node.js,mongodb,mongoose,npm,Node.js,Mongodb,Mongoose,Npm,我正在使用Node、Express和Mongo构建一个API。对于我的数据建模,我使用Mongoose。我想将我的模型移动到API使用的单独节点模块,这样我也可以在其他项目中重用模型。然而,我在API中使用Mongoose数据模型时遇到了一个奇怪的问题 当我的数据模型源位于NPM模块中时,我的模型无法访问我的数据库,任何.find或.save调用都会挂起且不执行任何操作。但是,如果我的数据模型源直接存在于我的项目中,而不是在node_模块下,那么一切都很好。这是我的密码: var mongoos

我正在使用Node、Express和Mongo构建一个API。对于我的数据建模,我使用Mongoose。我想将我的模型移动到API使用的单独节点模块,这样我也可以在其他项目中重用模型。然而,我在API中使用Mongoose数据模型时遇到了一个奇怪的问题

当我的数据模型源位于NPM模块中时,我的模型无法访问我的数据库,任何.find或.save调用都会挂起且不执行任何操作。但是,如果我的数据模型源直接存在于我的项目中,而不是在node_模块下,那么一切都很好。这是我的密码:

var mongoose = require('mongoose');
var dbURI = 'mongodb://localhost/myproject-dev'

mongoose.connect(dbURI);
mongoose.connection.on('error', console.error.bind(console, 'database connection error:'));

var productModel = require('myproject-core').models.product;
console.log(productModel);
这里的console.log显示我剪了很多东西:

{ [Function: model]
  base: 
   { connections: [ [Object] ],
     plugins: [],
     models: ...
  ...
  db: 
     ...
     replica: false,
     hosts: null,
     host: null,
     port: null,
     user: null,
     pass: null,
     name: null,
     options: null,
     otherDbs: [],
     _readyState: 0,
     _closeCalled: false,
但是,如果我需要在源代码中使用完全相同的模型代码的模型

var playerModel = require('./models/player');
console.log(playerModel);
我看到:

{ [Function: model]
  base: 
   { connections: [ [Object] ],
     plugins: [],
     models: ...
  ...
  db: 
     ...
     replica: false,
     hosts: null,
     host: 'localhost',
     port: 27017,
     user: undefined,
     pass: undefined,
     name: 'myproject-dev',
     options: { db: [Object], auth: {}, server: [Object], replset: [Object] },
     otherDbs: [],
     _readyState: 2,
     _closeCalled: false,

知道怎么了吗?

解决了。问题是我把猫鼬列为帮助解决问题的NPM包