問題タブ [eventstoredb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - EventStore プロジェクションをいつ使用するか
ここしばらく Event Store を見てきましたが、1 つ困惑したのは、いつプロジェクションの作成を検討すべきかということです。平らな投影を作成するのは一般的な方法ですか?
ここでの設定では、集約ごとにストリームを使用しています
たとえば、次のような 2 つのイベントがあるとします。
次のクエリがあります。
上記は大したことはなく、すべてのストリームを単数形に集約するだけです。たとえば、このようなものに、よりフラットなビューを投影することは可能ですか? おそらく私はワイヤーを交差させましたが、どうやら使用してemit
これを達成できますか?
私の考えでは、ストリームに書き込んだら、集約が有効な状態であることを保証できるため、利害関係者に対しては、これらのプロセスが必要とするフィールドのみを公開する必要があります。単純なモデル (正規化されていないビュー) を投影することは正しいことです..
上記は些細な例ですが、集計がもう少し複雑であることが想像できます。
私が何かを見逃した場合、またはさらに明確にする必要がある場合は、コメントしてください。追加できます.
c# - ストリームに追加されたイベントのバージョンを取得する方法
C# API の AppendToStreamAsync() 呼び出しを使用して、EventStore ストリームに書き込みを行っています。これは WriteResult を返しますが、新しく追加されたイベントのバージョンは返されません。このストリームに複数のクライアントが書き込んでいる可能性があるため、NextExpectedVersion に依存することはできません。
ストリームにサブスクライブして「自分の」イベントが発生するのを待つこともできますが、他に何か見落としがあるのでしょうか。ドキュメントは非常に軽く、返される型についても言及されていません。
この数を取得するための最良の方法と見なされるものは何ですか?
docker - Docker を使用して EventStore で URL の書き換えを防ぐにはどうすればよいですか?
Docker でサーバー (EventStore) を実行しようとしています。この場合は独自のイメージです。外部ポートを割り当てるために -P フラグを指定してこのイメージを実行しています。(私の使用法では、特定のポート割り当てが実用的ではありません。)
EventStore のイメージを起動すると、ポート 2113 (Web ポート) が 33125 などの高いポートにマップされます。ブラウザーに (my_ip):33125 と入力すると、(my_ip):2113/web/ のように書き換えられます。 . もちろん、Docker ポート 2113 の外では何の意味もありません!
この書き換えを防ぐにはどうすればよいですか、または少なくともすべてを Docker 内に含めるにはどうすればよいですか?