Trudno mi zmapować Twój kod do interfejsu Firebase API. Ale to, co opisujesz, wydaje się być osiągalne za pomocą transakcje lub aktualizacje w wielu lokalizacjach .
W przeszłości szczegółowo omówiłem tego typu aktualizacje w:Jak zapisywać zdenormalizowane dane w Firebase