1

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 はまだ起動していませんか?

手動で再接続できますか、それとも新しいサーバーを作成する必要がありますか?

4

1 に答える 1

0

最新のnode-mongodb-native(1.2.11)ドライバーを使用していることを確認してください。これにより、期待どおりに動作するはずです。

于 2013-01-30T15:36:24.847 に答える