ネイティブ ドライバーが私の (適切に構成されていない) レプリカ セットについて文句を言わないという事実に興味があります。実際、私のセットアップでは、ポート 27021 でmongod
リッスンするインスタンスが 1 つだけあります (ポート 27018 と 27019 は使用されていません)。
var async = require('async')
, mongodb = require('mongodb')
, Db = mongodb.Db
, Connection = mongodb.Connection
, Server = mongodb.Server
, ReplSetServers = mongodb.ReplSetServers;
async.waterfall([
function (callback) {
var rls = new ReplSetServers([
new Server('localhost', 27017, {}), // Just mongod instance
new Server('localhost', 27018, {}), // Offline
new Server('localhost', 27019, {}), // Offline
]);
new Db('test', rls, { w: 0 }).open(function (err, db) {
callback(err, db);
});
},
], function (err, db) {
if (err) console.error(err);
if (db) db.close();
});
エラーは出力されませんでした。もちろん、実行中の唯一のインスタンスを停止するmongod
と、接続エラーが発生します。ここで明らかな何かが欠けていますか?