4

を使用しているアプリがありmongoose.jsます。今まで私は の単一インスタンスを使用していmongodました。でも最近レプリカセットに変えました。

mongoose.js で oplog コレクションにアクセスするにはどうすればよいですか? local別のデータベース ( )からコレクションを取得する方法を教えてください。では、db に接続していて、mongoose.connectionoplog を今すぐ照会するにはどうすればよいでしょうか?

4

1 に答える 1

9

mongoose.connect メソッドを使用し、MongoDB URL を使用してデータベースを指定することにより、mongoose の別のデータベースにアクセスできます。たとえば、oplog が見つかった「ローカル」データベースに接続するには、次のようにします。

mongoose.connect('mongodb://localhost/local')

oplog の新しいエントリを監視するためにこれを行うことに興味があると言うので、「ローカル」データベースへの接続が確立されたら、「oplog.rs」コレクションでテーラブル カーソルを使用することをお勧めします。例えば:

mongoose.connection.once('open', function callback () {
    var collection = mongoose.connection.db.collection('oplog.rs')
    collection.find({}, {tailable: true}).each(function(err, entry) {
        if (err) {
            // handle error                                                                                                                                                    
        } else {
            // got a new oplog entry                                                                                                                                           
            console.log('--- entry', entry)
        }
    })
});

ご不明な点がございましたら、お気軽にお問い合わせください。

于 2013-09-19T15:03:30.920 に答える