当我们更新多个文档时,Mongo当前不在分片群集中进行事务处理。在这种情况下,我们应该如何处理部分故障。对于此类问题,有任何推荐的模式。
答案 0 :(得分:0)
共享集群事务是即将发布的MongoDB 4.2:Distributed Transactions中的一项功能。
对于较旧的MongoDB版本,您需要使用two-phase commit模拟此行为。 MongoDB手册中提供了一种模式:Perform Two Phase Commits。
基本上,模式是要有一个特殊的文档来跟踪交易的状态,并在涉及交易的各个文档中跟踪交易ID。成功完成所有必要的更新后,您可以将交易标记为“完成”,并清除该过程中涉及的所有元数据。