Не рекомендуется использовать данные, которые изменяют путь документа. Избегайте этого.
Мне не ясно, какой у вас userid
. Идентификаторы пользователей, выданные Firebase Authentication, никогда не должны изменяться. Если вы используете какое-то экранное имя, которое пользователь может изменить, оно не должно использоваться в пути. Вместо этого вам следует назначить каждому пользователю уникальный неизменяемый идентификатор и сохранить его отображаемое имя в отдельном документе, прикрепленном к этому идентификатору.
Мне также не ясно, каким именно является ваш filename
. Но применяется тот же принцип - если его можно изменить, он не должен быть частью пути документа. Сгенерируйте случайный идентификатор и поместите имя файла в поле в документе, связанном с этим идентификатором.
Этот тип моделирования со случайными идентификаторами является единственной причиной, по которой такие операции, как add (), существуют в Firestore. add () сгенерирует этот случайный идентификатор для вас, и вы заполните документ данными, которые помогут вам найти его позже. Подробнее читайте в документации .