1

我有两个节点服务器在一个机器上运行(端口 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 失败并显示“连接已关闭”,反之亦然。

//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 服务器,不同的数据库,同时。

4

1 回答 1

0

所以事实证明,这不是 node/mongoose 的问题,而是 MongoDB 服务器本身的问题。我已经达到了最大容量。

连接的限制来自操作系统的 1024 个打开文件(80% 用于连接)。

所以我有 820 个可用连接,我正在使用它们。我清除了连接并且它起作用了。

于 2014-05-01T22:30:52.857 回答