node.js - 连接已关闭 : Multiple node apps connecting to same MongoDB server using Mongoose

标签 node.js mongodb mongoose connection-close

我在一个机器上运行两个 Node 服务器(端口 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');

这些连接是互斥的。当应用 1 连接时,应用 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');

相同的结果。

有没有人能够在不创建某种代理应用程序的情况下使其工作??同一个盒子,多个 Node 应用程序,同一个 MongoDB 服务器,不同的数据库,同时。

最佳答案

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

The limitation of connections is from operating system at 1024 open files ( 80% are used for connections).

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

关于node.js - 连接已关闭 : Multiple node apps connecting to same MongoDB server using Mongoose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23400037/

相关文章:

mongodb - 27017 浏览器无法访问 MongoDB

node.js - MongoDB 的奇怪日期行为

javascript - Mongoose 5.x 不允许传递一系列运算符

node.js - 如何使用 Mongoose 在某个日期自动删除 MongoDB 中的文档

html - 使用 require ('fs' 进行浏览)

Node.js https 证书过期

AngularJS + ServiceStack + Node.js 作为代理?

mongodb - 使用 VPC 和对等网络时,如何从 Google Cloud Run 连接到 MongoDB Atlas?

javascript - 如何使用 express 服务目录?

node.js - mongodb中的聚合函数