我正在运行一个事务来更新需要存储在两个键中的项目。为此,我设置了一个嵌套事务,如下所示,它似乎按预期运行:
firebaseOOO.child('relationships/main').child(accountID).child(friendAccountID).transaction(function(data) {
data.prop = 'newval';
firebaseOOO.child('relationships/main').child(friendAccountID).child(accountID).transaction(function(data) {
return r;
});
return r;
});
对此是否有任何陷阱或可能的意外影响?我最担心在负载下陷入某种事务循环,其中每个事务都会取消另一个事务,从而迫使它们重新启动或类似情况。
有没有更好的方法来做到这一点?
我正在使用 NodeJS 客户端。