2 つのキーに格納する必要があるアイテムを更新するトランザクションを実行しています。これを達成するために、次のようにネストされたトランザクションをセットアップしましたが、期待どおりに実行されているようです。
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 クライアントを使用しています。