2017-09-27 6 views
0

私は2つのNode.jsアプリケーションがそれぞれ異なるマシン上でMongooseを実行しています。最初のMongoDBデータベースは1つあり、2つ目はそれに接続して定期的にドキュメントを追加します。私はこれらのドキュメントの作成にフックを追加しようとしているので、データベースを実行しているサーバは、他のサーバがデータを追加したことを認識しています。私はSchema.post()メソッドを使ってみましたが、Mongooseのインスタンスが2つあるので動作しないようです。これは本当ですか、私は間違って実装していますか?ドキュメントが同じサーバー上に作成されていても、他のサーバーには作成されていない場合は、そのフックを起動できます。Mongoose Schema.postネットワーク全体

Mongooseの代わりにMongoDBにフックを直接追加することを考えましたが、その方法についてはわかりません。正しい軌道にいるのですか?

答えて

1

これは本当ですが、Schema.post()は同じプロセスでしか動作しません。 MongoDBのoplogmongo-oplog)のようなライブラリを使用するか、すべてのインスタンス(Redis、RabbitMQなど)が接続されているメッセージキュー(またはpub/sub)を使って自分で実装するか、これをサポートするデータベースを使用するかネイティブに。 PostgreSQLは、例えばNOTIFY機能でこれをサポートしています。

関連する問題