【发布时间】:2019-08-27 07:24:25
【问题描述】:
我知道您可以使用 update 进行批量、原子的全部或全部更新 - 但您可以对事务执行相同的操作吗?
目前我正在尝试在接受好友请求的同时增加用户好友数(2 个用户)。
这是我正在做的工作,但如果出现问题,将导致多次出现错误的数据不一致。
const upOneFriend = firebase
.database()
.ref("users")
.child(friend.uid)
.child("friendCount");
const upOneCurrentUser = firebase
.database()
.ref("users")
.child(userUid)
.child("friendCount");
upOneFriend
.transaction(currentCount => {
return currentCount + 1;
})
.then(() => {
upOneCurrentUser.transaction(currentCount2 => {
return currentCount2 + 1;
});
})
.catch(() => {
console.log("error increment");
});
就像我说的,是可行的,但我需要同时这样做!我环顾四周,没有发现任何与实时数据库的批处理事务相关的内容。
干杯。
【问题讨论】:
标签: node.js firebase firebase-realtime-database transactions atomic