У меня 2 коллекции. Один из них называется «ПОЛЬЗОВАТЕЛИ», а другой — «СООТВЕТСТВУЮЩИЕ». ПОЛЬЗОВАТЕЛИ могут участвовать в МАТЧАХ, отображая аватар пользователя, присоединившегося к матчу. Проблема в том, что когда пользователь меняет изображение своего аватара после присоединения к матчу, аватар матча не меняется, потому что у матча старый аватар.
Аватар сохранен как Base64 в Firestore, но в ближайшем будущем я изменю его на «Хранилище».
Я пытался установить ссылку, но это дает мне только путь.
Если мне нужно выполнить вызов API базы данных для каждого совпадения, к которому присоединился пользователь, возможно, мне придется выполнить 20 вызовов API, обновляющих совпадения. Это может быть решением, но не лучшим.
Может быть, решение находится в функциях Google? У меня нет идей.
Ну, допустим, мне придется делать еще больше запросов, потому что в матче может быть до 5 видимых игроков, прежде чем вводить детали. Читая ответ Фрэнка, вижу, что лучшее решение - сменить аватарку во всех матчах сразу.





Maybe the solution is in the Google Functions?
Облачные функции также получают доступ к Firestore через SDK, поэтому они не могут волшебным образом делать то, что не позволяет SDK.
Если вы дублируете данные и обновляете один из дубликатов, вам придется подумать об обновлении остальных. Если все они должны быть обновлены, это действительно требует отдельного вызова для каждого дубликата.
Если вы не хотите этого делать, не храните повторяющиеся данные.
Дополнительные сведения о стратегиях обновления повторяющихся данных см. в статье Как записать денормализованные данные в Firebase.
Я ценю твой ответ, Фрэнк. Наконец, я переименую переменные аватара отдельным вызовом.
как насчет сохранения значения аватара в пользовательских коллекциях и обновления его только там... затем при загрузке совпадения вы просто запрашиваете информацию о пользователях этого совпадения, а затем у вас есть актуальные аватары.