gpt4 book ai didi

node.js - RethinkDB 对多个文档/表的事务处理

转载 作者:搜寻专家 更新时间:2023-11-01 00:23:30 25 4
gpt4 key购买 nike

我需要在一个事务中更新 2 个表。

在当前版本中,RethinkDB 不支持开箱即用的事务。那么,我该如何实现呢?

我可以通过两种方式进行更新:

  1. 更新第一个表格。如果成功 -> 更新第二个表。
  2. 异步更新第二张表。

但是当 2 次更新中的 1 次顺利完成,而另一次没有完成时,我该如何解决这种情况?是的,我可以检查更新结果并在发生错误时还原更新。但无论如何,可能会有这样的情况,当应用程序发生某些事情(失去与 Rethink 的连接,或者只是脚本崩溃),但两个更新之一已经完成。因此,我的数据库将处于不一致状态。没有办法解决这个问题。

那么,是否可以在nodejs中为RethinkDB模拟事务行为?

最佳答案

您能做的最好的事情就是两阶段提交。 (MongoDB 有一份关于如何执行此操作的好文档,完全相同的技术应该适用于 RethinkDB:​​http://docs.mongodb.org/master/tutorial/perform-two-phase-commits/。)

关于node.js - RethinkDB 对多个文档/表的事务处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32456243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com