Mongoose连接然后立即断开(Node.js + Express)

我有一个使用Mongoose连接到MongoDB的Express(Node.js)应用程序。 在过去的几周里,它一直在运转良好,但在过去的几天里,这让我疯狂。

服务器似乎连接到MongoDB,然后立即断开连接。 从global日志:

 2015-11-10T15:47:02.083+0000 I NETWORK [initandlisten] connection accepted from 127.0.0.1:33994 #178 (2 connections now open) 2015-11-10T15:47:02.084+0000 I NETWORK [initandlisten] connection accepted from 127.0.0.1:33995 #179 (3 connections now open) 2015-11-10T15:47:02.084+0000 I NETWORK [initandlisten] connection accepted from 127.0.0.1:33996 #180 (4 connections now open) 2015-11-10T15:47:02.085+0000 I NETWORK [initandlisten] connection accepted from 127.0.0.1:33997 #181 (5 connections now open) 2015-11-10T15:47:02.085+0000 I NETWORK [initandlisten] connection accepted from 127.0.0.1:33998 #182 (6 connections now open) 2015-11-10T15:47:02.465+0000 I ACCESS [conn178] Successfully authenticated as principal server on MY_DB_NAME 2015-11-10T15:47:02.466+0000 I ACCESS [conn179] Successfully authenticated as principal server on MY_DB_NAME 2015-11-10T15:47:02.466+0000 I ACCESS [conn180] Successfully authenticated as principal server on MY_DB_NAME 2015-11-10T15:47:02.466+0000 I ACCESS [conn181] Successfully authenticated as principal server on MY_DB_NAME 2015-11-10T15:47:02.466+0000 I ACCESS [conn182] Successfully authenticated as principal server on MY_DB_NAME 2015-11-10T15:47:02.475+0000 I NETWORK [conn178] end connection 127.0.0.1:33994 (5 connections now open) 2015-11-10T15:47:02.475+0000 I NETWORK [conn179] end connection 127.0.0.1:33995 (4 connections now open) 2015-11-10T15:47:02.475+0000 I NETWORK [conn180] end connection 127.0.0.1:33996 (3 connections now open) 2015-11-10T15:47:02.475+0000 I NETWORK [conn181] end connection 127.0.0.1:33997 (2 connections now open) 2015-11-10T15:47:02.475+0000 I NETWORK [conn182] end connection 127.0.0.1:33998 (1 connection now open) 

你可以看到这一切都是从同一秒。

我如何连接:

 var mongoose = require('mongoose'); mongoose.connect('mongodb://MY_USERNAME:MY_PASSWORD@127.0.0.1:27017/MY_DB_NAME'); mongoose.connection.on('open', function (ref) { console.log('Connected to mongo server.'); }); mongoose.connection.on('error', function(err) { console.info('Error: Could not connect to MongoDB. Did you forget to run `mongod`?'); console.log(err); }); 

服务器日志Connected to mongo server. 。 这是从哪里来的?

我做了一个全新的安装,这是相同的,所以我想这一定是我的代码。 有没有其他的代码我应该粘贴?

感谢任何帮助家伙。


遵循Jameson的build议,我将var appCon = mongoose.createConnection(url)更改为var appCon = mongoose.createConnection(url) 。 检查日志,实际上似乎使连接坚持。 奇怪的。

.connect显然不是这个问题的根源。 我没有足够的信息。

我如何检查“引擎盖下”?


那好..这很尴尬。 我实际上已经离开了mongoose.connection.close(); 在一个文件的底部,当我想要连接是dynamic的,只有当我需要时才打开。

这实际上花了3天才find。 多浪费时间!

谢谢你的时间。

尝试

 var appConnection = mongoose.createConnection('mongodb://127.0.0.1:27017/bookAPI'); appConnection.on('error', console.error.bind(console, 'connection error:')); appConnection.once('open', function callback () { console.log("h"); });