gpt4 book ai didi

android - 多节点添加、删除的Firebase事务

转载 作者:行者123 更新时间:2023-11-29 15:38:17 27 4
gpt4 key购买 nike

我有 Firebase 结构,其中包含 Android 中的用户和组。这是多对多的关系。

Firebase Structure

当我在组节点中添加任何用户时,我也会在用户节点中添加组,但没有使用任何类型的事务机制。

现在我需要执行删除组案例,它将删除组节点以及每个用户加入的用户节点内的组属性。在这个场景中必须有一个事务。到目前为止,我已经处理了依赖于相同节点但不依赖于不同节点的交易代码。

我想知道在多节点增删改查的情况下如何实现事务,或者有没有更好的实现方式。

最佳答案

Firebase 数据库事务在单个节点上工作。因此,如果您想使用事务,则必须将其向上移动以在整个数据库上工作。这肯定会破坏您应用程序的任何可扩展性,因此不是一个好主意。

而是使用 multi-location update通过一次调用数据库删除受影响的节点:

Map updates = new HashMap();
updates.put("/users/-Kr....", null);
updates.put("/groups/-Kr.../users/-Kr...", null);
ref.updateChildren(updates);

现在整个操作要么成功要么失败,不需要事务。

关于android - 多节点添加、删除的Firebase事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45689285/

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