Firebase: используйте метаданные для сортировки файлов, которые отображаются при использовании list () - PullRequest
0 голосов
/ 28 октября 2019

Я загружаю аудиофайлы (в виде больших двоичных объектов) в базу данных Firebase, и к каждому файлу прикреплены метаданные. Метаданные содержат проверенное пользовательское значение, которое является истинным или ложным. Я хочу использовать функцию list () firebase для отображения указанных файлов, но я хочу, чтобы отображались только проверенные файлы: false. Как я могу это сделать?

Из того, что я прочитал, вы можете сортировать / манипулировать значениями в child (), но я не совсем понимаю, как это сделать;можно ли использовать метаданные вместо дочернего раздела с проверкой: ложь? Насколько я знаю, это невозможно, поскольку это аудиофайл. У меня пока нет кода для показа, так как я не знаю, с чего начать, любая помощь будет признательна!

1 Ответ

0 голосов
/ 28 октября 2019

Firebase SDK для облачного хранилища может фильтровать только по префиксу пути, поэтому в «каталоге» находятся файлы. Нет возможности фильтровать метаданные.

Это означает, что у вас есть несколько вариантов:

  1. Читать все фильтры и фильтровать на стороне клиента. Я сомневаюсь, что это выполнимый вариант, так как вы можете в конечном итоге загрузить много данных, которые затем не будете использовать в клиенте.
  2. Храните непросмотренные файлы по другому пути, так что выможете перечислить их фильтрацию по префиксу пути. Например, если вы храните не просмотренные файлы в каталоге / папке / местоположении unreviewed, вы можете получить только не просмотренные файлы с firebase.storage().ref().child('unreviewed').list()...

    Это означает, что вам придется переместить файл вв другом месте после того, как вы его просмотрели. Поскольку перемещение файлов не является операцией в Firebase API, вам придется либо повторно загрузить файл (что также позволяет обновлять метаданные), либо использовать облачные / серверные API-интерфейсы для перемещения файла.

  3. Сохраните метаданные о состоянии проверки файла в другом месте, например, в базе данных Firebase Realtime или в облачном хранилище пожаров. На сегодняшний день это наиболее распространенный подход, поскольку обычно вы можете легче хранить, обновлять и запрашивать метаданные о файле в этой базе данных, используя Cloud Storage исключительно для чтения и записи двоичных данных.

    См. Также пункт «предыдущий ответ» в этом предыдущем ответе , который я дал.

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