mongodb mongoose连接打开回调未被调用

mongodb mongoose连接打开回调未被调用,mongodb,mongoose,mean-stack,Mongodb,Mongoose,Mean Stack,我有一个卑鄙的项目,这是我的server.js中的一个片段 var db = require('./config/db'); // url : 'mongodb://localhost/cdnserver' // results are same for 127.0.0.1 or the machines ip console.log(mongoose.connect(db.url)); mongoose.set('debug', true); mongoose.connection.on('

我有一个卑鄙的项目,这是我的server.js中的一个片段

var db = require('./config/db');
// url : 'mongodb://localhost/cdnserver'
// results are same for 127.0.0.1 or the machines ip
console.log(mongoose.connect(db.url));

mongoose.set('debug', true);
mongoose.connection.on('connected', function () {
  console.log('Mongoose default connection open to ' + db.url);
});

// If the connection throws an error
mongoose.connection.on('error',function (err) {
  console.log('Mongoose default connection error: ' + err);
});

// When the connection is disconnected
mongoose.connection.on('disconnected', function () {
  console.log('Mongoose default connection disconnected');
});
这是一个已经运行了3个多月的设置。现在,我正在将我的整个平均堆栈以及数据库复制到另一台机器上。我参加了一个mongodump,并参加了mongorestore。通过终端的mongo,恢复的db设置看起来很好

但是,启动服务器时,不会调用连接打开回调。如果停止mongodb服务,将调用断开连接和错误回调。我如何进一步调试它

我正在连接两个设置的控制台输出

设置1:

    Mongoose {
  connections:
   [ NativeConnection {
       base: [Circular],
       collections: {},
       models: {},
       replica: false,
       hosts: null,
       host: 'localhost',
       port: 27017,
       user: undefined,
       pass: undefined,
       name: 'cdnserver',
       options: [Object],
       otherDbs: [],
       _readyState: 2,
       _closeCalled: false,
       _hasOpened: false,
       _listening: false,
       db: [Object] } ],
  plugins: [],
  models: {},
  modelSchemas: {},
  options: { pluralization: true } }
Server up on 80
Mongoose default connection open to mongodb://localhost/cdnserver
1
Mongoose: videos.find({}) { skip: 0, limit: 5, fields: undefined }
设置2:

Mongoose {


connections:
   [ NativeConnection {
       base: [Circular],
       collections: {},
       models: {},
       replica: false,
       hosts: null,
       host: 'localhost',
       port: 27017,
       user: undefined,
       pass: undefined,
       name: 'cdnserver',
       options: [Object],
       otherDbs: [],
       _readyState: 2,
       _closeCalled: false,
       _hasOpened: false,
       _listening: false,
       db: [Object] } ],
  plugins: [],
  models: {},
  modelSchemas: {},
  options: { pluralization: true } }
Server up on 80
1
1
Mongoose default connection disconnected
Mongoose default connection error: Error: connection closed
cat/var/log/mongodb/mongodb.log显示两台机器中完全相同的输出


更新1:安装程序突然开始正常工作,然后再次停止。我不知道是什么导致了这一切

我终于明白了,新的设置使用了更新版本的nodejs


当我从7.x迁移到6.x时,它工作得很好。我猜mongoose、node 7和mongodb的版本不太兼容。

您能从终端连接mongo吗?也许你在新数据库上启用了身份验证?@GilZ我可以连接,没有设置身份验证。另外,当系统间歇性工作时,我没有更改任何身份验证设置。当连接断开时,您是否通常在
/var/log/mongodb/mongodb.log
中检查mongodb服务器日志?@BertrandMartel日志文件看起来很相似,只是pId发生了变化。