Javascript Mongoose连接后立即断开连接(Node.js+;Express)
我有一个使用Mongoose连接到MongoDB的Express(Node.js)应用程序。 在过去的几周里,它一直运转良好,但在过去的几天里,它让我发疯 服务器似乎连接到MongoDB,然后立即断开连接。 从Javascript Mongoose连接后立即断开连接(Node.js+;Express),javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,我有一个使用Mongoose连接到MongoDB的Express(Node.js)应用程序。 在过去的几周里,它一直运转良好,但在过去的几天里,它让我发疯 服务器似乎连接到MongoDB,然后立即断开连接。 从全局日志: 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-10T1
全局
日志:
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);
});
服务器记录连接到mongo服务器的。
。
这是从哪里来的
我做了一个新的安装,它是一样的,所以我想这一定是我的代码。
还有其他的代码需要粘贴吗
谢谢你们的帮助
按照詹姆逊的建议,我将
mongoose.connect
更改为var-appCon=mongoose.createConnection(url)
。检查日志,这实际上似乎使连接保持不变。奇怪
.connect
显然不是这个问题的根源。我没有足够的信息
如何检查“引擎盖下”
嗯。。这很尴尬。我实际上留下了一个
mongoose.connection.close()代码>在一个文件的底部,当我希望连接是动态的,并且只在需要时打开
这实际上花了3天时间才找到。真是浪费时间
谢谢大家抽出时间。试试看
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");
});
为什么有五个连接都在不同的端口上?我真的不知道know@Jaco默认连接池大小为5。这似乎不会立即断开连接。但是,如何在文件中传递它?@NetacreateConnection()
和connect()
的不同之处在于createConnection()
允许多个数据库。它将在mongoose.connections[index]
下提供,您必须将每个型号注册到该特定连接。发生了一个不同的问题,使用createConnection()
确实会带来麻烦。我将您的答案标记为正确,因为它确实引导我找到了答案(以及@cdbajorin的评论),我想感谢您花时间帮助我。@Neta我很高兴我能帮上一点忙:)