在我的 Firebase 数据库中,我需要同时对两个位置进行两次写入。我对这两个位置都有规则,以确保用户在不同时写入另一个位置的情况下无法在那里写入。
对这些位置之一的写入需要递增/递减。当然,这必须通过事务来完成,否则我无法保证用户不会覆盖其他用户对同一节点的同时增量/减量更新。
问题是,我找不到任何有关将多位置更新与事务相结合的文档。这是不可能做到的吗?
不会。交易在单个节点上运行。
这意味着,如果您想运行多位置事务,则实际上必须在树中的“最低级别共享节点”上运行该事务。这绝不是一个好主意。
另一种方法是使用服务器端安全规则来保护多位置写入。有关此示例,请参阅Firebase 数据库快速入门处理计数的方式安全吗? https://stackoverflow.com/questions/37954217/is-the-way-the-firebase-database-quickstart-handles-counts-secure/37956590#37956590,它本质上是使用安全规则构建比较和设置操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)