2011-07-04 15 views
0

こんにちは私たちはmongoにコレクションの集合を持っていて、すべてのアクティビティがoplogに読み込まれています。今私はoplogに新しいレコードが追加されるときに、私は別のダミーサーバー上のDBにそれを書きたいと思うように、このoplogを見るためのスクリプトを書いてみたいです。どのように私はこれについて行くことができます。私はmongoに新しいので、これでどこから始めるべきか分からない。どんなアイデアも私のために役立つでしょう。私は何かを考えていますmongo db oplogを別のmongo dbに複製

while(true) 
{ 
    watch(oplog) 
    OnNewEntry 
    { 
     AddToAnotherMongo(another.server.com,port,dbname,record) 
    } 
} 
+2

達成したいことは何ですか?レプリケーションを行う場合は、レプリカセット(http://www.mongodb.org/display/DOCS/Replica+Sets)を参照してください。 – Fabian

答えて

4

特定のサーバーを監視して再生できるさまざまなoplogリーダーがあります。これはデフォルトでレプリカセットが行い、プライマリ(ライタ)は1つだけです。データのコピーが必要な場合は、レプリカセットが最善のオプションで、コードなしでサポートされます。ここで

はoplogを読んで、コードのいくつかのサンプルです:

1

私はsimliar問題を抱えていたし、自分のオペコード以下の非常に簡単な解決策を見つけました例:mongo-shellで実行されるjavascriptの例各操作は、別のサーバーに適用することができ、マスターサーバーのoplogにtailableカーソルをオープンして

source code available here

(もちろん、あなたは...コレクション、あるいはデータベースの名前空間でフィルタリングすることができます)