【发布时间】:2018-07-28 22:28:11
【问题描述】:
我已经为这背后的理论苦苦挣扎了几个星期,并在整个互联网上进行了检查,但找不到任何真正帮助我的东西,所以我第一次接触到 SO 社区。p >
我在 Firestore 中有 3 个集合(用户、事件和事务)。添加新事件时,我需要:
- 将新文档添加到 events 集合
- 更新用户文档中的余额。
- 在transaction集合中添加一个新文档,该集合需要使用上面2.中的新余额。
现在,这些必须要么全部成功,要么如果其中任何一个失败,那么它们都必须失败并且它们必须按顺序完成(我不能使用阶段 2 中的余额3 在第 2 阶段完成之前!)这指向了我的交易,但你不能在交易中执行和添加
一个事务由任意数量的 get() 操作和任意数量的写操作组成,例如 set()、update() 或 delete()。
所以我查看了批次,但再次不允许添加
如果您不需要读取操作集中的任何文档,则可以将多个写入操作作为一个批处理执行,其中包含 set()、update() 或 delete() 操作的任意组合。
所以我有点困惑。
我开始研究 async/await,但是,虽然这将等待上一个操作完成后再进行下一个操作,但它不允许我在发生错误时回滚(我们会,不容易!) .
我的应用程序在 Angular 4 中,但任何 Javascript 帮助将不胜感激.....
【问题讨论】:
标签: javascript angular firebase