Firebase: База данных + Хранилище - лучшая практика ссылки на правильное изображение сообщения | Vue. js - PullRequest
0 голосов
/ 12 марта 2020
  • Vue. JS
  • Vuex
  • firebase / firestore

Я создал сайт, на котором вы можете отправить текст и изображение для вашего сообщения. В настоящее время я даю post.postPicture весь URL изображения, которое ему принадлежит. Это работает.

Изображения хранятся в хранилище Firebase в папке /$useruid/$filename.

Теперь, как это может произойти, что если изменится filename или userid? (при условии, что я не исправляю путь) Какова наилучшая практика ссылки на изображение, принадлежащее сообщению?

1 Ответ

1 голос
/ 12 марта 2020

Не рекомендуется использовать данные, которые изменяют путь документа. Избегайте этого.

Мне не ясно, какой у вас userid. Идентификаторы пользователей, выданные Firebase Authentication, никогда не должны изменяться. Если вы используете какое-то экранное имя, которое пользователь может изменить, оно не должно использоваться в пути. Вместо этого вам следует назначить каждому пользователю уникальный неизменяемый идентификатор и сохранить его отображаемое имя в отдельном документе, прикрепленном к этому идентификатору.

Мне также не ясно, каким именно является ваш filename. Но применяется тот же принцип - если его можно изменить, он не должен быть частью пути документа. Сгенерируйте случайный идентификатор и поместите имя файла в поле в документе, связанном с этим идентификатором.

Этот тип моделирования со случайными идентификаторами является единственной причиной, по которой такие операции, как add (), существуют в Firestore. add () сгенерирует этот случайный идентификатор для вас, и вы заполните документ данными, которые помогут вам найти его позже. Подробнее читайте в документации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...