Я выполняю транзакцию для обновления элемента, который нужно сохранить в двух ключах. Для достижения этой цели, я имею установку вложенную транзакцию следующим образом, и это, кажется, работает как ожидалось:Последствия вложенных транзакций в Firebase?
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.
Почему бы не попробовать обновление нескольких местоположений? https://firebase.googleblog.com/2015/09/introducing-multi-location-updates-and_86.html – Badie