【发布时间】:2018-11-24 07:09:10
【问题描述】:
目前我正在为我的公司项目使用 Eventstore(由 Greg Young 编写)。在我的读取模型中,我存储已处理的事件 ID,而不是事件名称。如何使用其 Id 在 Eventstore 中找到该事件?
【问题讨论】:
标签: eventstoredb
目前我正在为我的公司项目使用 Eventstore(由 Greg Young 编写)。在我的读取模型中,我存储已处理的事件 ID,而不是事件名称。如何使用其 Id 在 Eventstore 中找到该事件?
【问题讨论】:
标签: eventstoredb
我认为目前这是不可能的。我认为你有两个选择:
在您的读取模型中存储流和索引,或事件的提交/准备位置,然后使用提交/准备位置从$all 流中读取事件,或者使用流和索引。这可能是最简单的。
或者在事件存储中创建一个投影,通过事件的 id 索引事件并重新投影到一个名为 eventid-{event.id} 的流中,然后您可以直接从此流中读取。
第二个向后兼容您当前的读取模型,但我不确定这样做是否正确,因为预测会导致写入放大,您可能需要确保将系统事件排除在投影之外。
【讨论】:
您可以使用以下 URL 路径查询事件。这将返回事件及其之前的最后 20 个事件
{youreventstoredomain}:2113/web/index.html#/streams/$ce-{streamname}/{eventnumber}/backward/20
【讨论】:
{eventid} 是流中事件的序号,而不是 EventStore 在创建事件时生成的事件 Guid。