我在数据库中有两个不同的节点。
all posts
users
根据用户添加帖子时的扇出模式,它会在all posts
和users/uid/posts
更新。
每个帖子都包含一个显示喜欢数量的按钮。
当用户点击它时,类似情况应增加+1。
根据docs,我们使用transaction
进行此类处理。
但使用transaction
的问题是,据我所知,它仅更新一个节点
但我的问题是如何在上述两个节点中更新此交易
我应该使用update
方法
使用在两个节点都更新的事务的方法是什么
答案 0 :(得分:2)
您可以使用Cloud Functions for Firebase将所有用于更新数据库的逻辑推送到服务器端。使用可以使用database trigger来响应正在写入数据库的数据,然后执行一些JavaScript以确保扇出正确完成。它的优势在于可以确保所有更改都不依赖于客户端。
交易不能同时修改两个不同位置的数据,但您仍可能希望在客户端和云功能中使用它们,以确保并发写入不会出现问题。