忽然发现nocobase的底层数据更新能力是无法保障条件更新的原子性的
repository的update实现实际上是先根据条件find,find之后再根据find数据的主键更新,假设并发场景,可能此时已有数据变更后不再满足条件了但依然被更新,不管individualHooks是true还是false更新操作都是如此,我现在看的是正式版2.2.6的实现。
如果是为了获取事件的上下文数据,也应该要保证基础功能的可靠性,比如更新时依然加上条件约束,或者独立事件系统转为订阅数据库更新事件(类似阿里的canal方案)
感谢反馈,我们正在调查问题 。