如何通过ID在EventStore中查找事件?

时间:2018-11-24 07:09:11

标签: get-event-store

当前,我正在为我的公司项目使用Eventstore(由Greg Young设计)。在我的读取模型中,我存储已处理的事件ID,而不是事件名称。如何使用事件ID在事件存储中找到事件?

2 个答案:

答案 0 :(得分:1)

我认为目前无法实现。我认为您有两种选择:

在您的读取模型中存储流和索引,或事件的提交/准备位置,然后使用提交/准备位置从$all流中读取事件,或从写入事件的流中读取事件使用流和索引。这可能是最简单的。

或者在事件存储中创建一个投影,该投影通过事件的ID为事件编制索引,然后重新投影到称为eventid-{event.id}的流中,然后您可以直接从该流中读取。

第二个与您当前的读取模型向后兼容,但是我不确定这样做是正确的,因为投影会导致写入放大,并且您可能需要确保从投影中排除系统事件。

答案 1 :(得分:1)

您可以使用以下URL路径查询事件。这将返回事件及其之前的最后20个事件

{您的事件存储域}:2113 / web / index.html#/ streams / $ ce- {streamname} / {eventid} / backward / 20