我有Firebase结构,其中包含Android中的用户和群组。这是一对多关系。
当我在组节点中添加任何用户时,我还在用户节点中添加了组,但没有使用任何类型的事务机制。
现在我需要执行删除组案例,它将删除组节点以及每个用户加入的用户节点内的组属性。在这种情况下必须有一个交易。到目前为止,我已经处理了依赖于相同节点但不依赖于不同节点的事务代码。
我需要知道如何在多个节点上添加和删除时实现事务,或者是否有更好的方法来实现它。
答案 0 :(得分:3)
Firebase数据库事务在单个节点上运行。因此,如果您想使用事务,则必须将其移至整个数据库。这肯定会扼杀你的应用程序的任何可扩展性,所以这不是一个好主意。
而是使用multi-location update通过一次调用数据库来删除受影响的节点:
ToList()
现在整个操作将成功或失败,无需交易。