【发布时间】:2014-04-30 23:54:52
【问题描述】:
我有两个节点服务器在一个机器上运行(端口 3030 和 3031),我试图使用 Mongoose 连接到同一个 MongoDB 服务器(不同的数据库),但它只允许一个应用程序连接而另一个失败。我试过了:
// App 1
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/db1');
// App 2
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/db2');
连接是互斥的。当 App 1 连接时,App 2 失败并显示“Connection closed”,反之亦然。
//App 1
var mongoose = require('mongoose');
var conn = mongoose.createConnection('mongodb://mongoserver/db1');
var model = conn.model('collection1');
//App 2
var mongoose = require('mongoose');
var conn = mongoose.createConnection('mongodb://mongoserver/db2');
var model = conn.model('collection1');
同样的结果。
有没有人能够在创建某种代理应用程序的情况下使其工作?同一个盒子,多个节点应用程序,同一个 MongoDB 服务器,不同的数据库,同时。
【问题讨论】:
-
奇怪,应该可以正常工作。这里一定有其他事情发生。
-
您是否能够检查相关时间段的 MongoDB 日志并查看发生了什么?您确定您的应用没有任何类型的单例注册技巧吗?
-
谢谢大家 - 这是 mongo 服务器上允许的连接的问题。我重新启动了服务器并创建了更多空间以允许更多连接。这解决了它!
标签: node.js mongodb mongoose connection-close