1

1 つのボックス (ポート 3030 と 3031) で 2 つのノード サーバーを実行しており、Mongoose を使用して同じ MongoDB サーバー (異なるデータベース) に接続しようとしていますが、1 つのアプリケーションしか接続できず、もう 1 つのアプリケーションは失敗します。私はもう試した:

// 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');

同じ結果です。

ある種のブローカーアプリを作成せずにこれを機能させることができた人はいますか? 同じボックス、複数のノード アプリ、同じ MongoDB サーバー、異なるデータベースを同時に。

4

1 に答える 1

0

したがって、これは MongoDB サーバー自体の問題ほどノード/mongoose の問題ではないことがわかりました。最大容量に達していました。

接続の制限は、1024 個の開いているファイルでオペレーティング システムからのものです (80% が接続に使用されます)。

そのため、820 の接続が利用可能で、それらすべてを使用していました。接続をクリアしたところ、機能しました。

于 2014-05-01T22:30:52.857 に答える