J'ai du mal à mapper votre code sur l'API Firebase. Mais ce que vous décrivez semble réalisable soit en utilisant opérations ou mises à jour multi-emplacements .
J'ai couvert ce type de mises à jour en profondeur dans le passé dans :Comment écrire des données dénormalisées dans Firebase