我需要在一个事务中更新 2 个表。
在当前版本中,RethinkDB 不支持开箱即用的事务。那么,我该如何实现呢?
我可以通过两种方式进行更新:
- 更新第一张桌子。如果成功-> 更新第二个表。
- 异步更新第二个表。
但是,当 2 次更新中的 1 次成功完成,但另一个没有时,我该如何解决?是的,如果发生错误,我可以检查更新结果并恢复更新。但无论如何,当应用程序发生某些事情(失去与 Rethink 的连接,或者只是脚本崩溃)时,可能存在这样的情况,但两个更新之一已完成。因此,我的数据库将处于不一致状态。而且没有办法解决这个问题。
那么,是否可以在 nodejs 中为 RethinkDB 模拟事务行为?