sql >> データベース >  >> NoSQL >> MongoDB

MongoDBコレクションへの変更をリッスンする方法は?

    あなたが考えていることは、トリガーのように聞こえます。 MongoDBはトリガーをサポートしていませんが、いくつかのトリックを使用して「自分でロール」した人もいます。ここで重要なのはoplogです。

    レプリカセットでMongoDBを実行すると、すべてのMongoDBアクションが操作ログ(oplogと呼ばれます)に記録されます。 oplogは基本的に、データに加えられた変更の実行リストにすぎません。レプリカセットは、このoplogの変更をリッスンし、変更をローカルに適用することで機能します。

    この音は聞き覚えがありますか?

    ここではプロセス全体を詳しく説明することはできません。数ページのドキュメントですが、必要なツールは利用できます。

    最初にoplogに関するいくつかの記事-簡単な説明-localのレイアウト コレクション(oplogを含む)

    また、調整可能なカーソルを活用することもできます。これらは、変更をポーリングする代わりに、変更をリッスンする方法を提供します。レプリケーションは調整可能なカーソルを使用するため、これはサポートされている機能であることに注意してください。



    1. コマンドプロンプトでRedisのキーと値を取得する

    2. nodejsでMongoDBクエリ結果をストリーミングする方法は?

    3. コンソールでMongoDBログメッセージを無効にするにはどうすればよいですか?

    4. 127.0.0.1:27017への接続に失敗しました。理由:errno:111接続が拒否されました