mongoskin をネイティブ mongodb ドライバーのラッパーとして使用していますが、auto_reconnect が機能していないようです。
私はデータベースを作成しています:
var db = mongo.db(serverUrl, {
database: database,
auto_reconnect: true,
safe: true
});
テストするために、接続の近くにクエリを追加しました。
db.on('close', function(err) {
setTimeout(function() {
db.collection('users').findOne({short_id: '123'}, console.log);
}, 5000)
});
ノード プロセスを実行した直後に、mongod を強制終了して開始すると、クエリ結果として「[エラー: 開いている接続がありません]」が返されます。
接続が失われたときに auto_reconnect することを想定していませんか? または、接続を閉じるとすぐに auto_reconnect を試みますが、mongod はまだ起動していませんか?
手動で再接続できますか、それとも新しいサーバーを作成する必要がありますか?