通过 Prooph 中除 ID 以外的 属性 获取聚合

Getting aggregate by other property than ID in Prooph

如何在不知道他的 ID 但知道其他唯一性的情况下从聚合存储库中获取聚合最简单 属性?例如,我有 Cart,其 ID 为 AggregateId,ownerId 为其他 属性。

在 CQRS 中(假设您有这样的系统),当针对聚合根进行交易时,您需要聚合的状态来做出决定以保留不变量。

在阅读方面,典型的模式是project/denormalise/index适当的数据以方便您在需要时进行查询。

所以通常情况下,你会有一个投影跟踪每个事件和基于 OwnerId 的索引以方便查询。如果这只是为了查找 运行 一些决策处理命令,那可以像 OwnerId 到拥有的 CartIds.

的映射一样简单

您没有提供太多上下文;这取决于您是要构建订单历史记录系统还是运输等。如果您详细解释您要实现的总体目标,您很可能会得到任何后续问题的良好答案