在Prooph中获取除ID以外的其他属性的聚合

时间:2018-05-04 20:15:07

标签: php cqrs event-sourcing event-store prooph

从聚合存储库获取聚合而不知道他的ID但知道其他独特属性有多简单?例如,我有Cart,ID为AggregateId,ownerId为其他属性。

1 个答案:

答案 0 :(得分:2)

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

在读取方面,典型的模式是根据需要对数据进行项目/非规范化/索引,以便于在需要时进行查询。

通常,您将根据OwnerId对每个事件和索引进行投影跟踪,以便于查询。如果这只是为了查找以运行某个决策处理命令,那么就像OwnerId到拥有CartIds的地图一样简单。

你没有提供太多的背景;这取决于您是否正在尝试建立订单历史记录系统或运输等。如果您解释更多关于您要实现的整体效果的话,您很可能会对任何后续问题得到一个很好的答案