#javascript #firebase #google-cloud-firestore #firebase-authentication
#javascript #firebase #google-облако-firestore #firebase-аутентификация
Вопрос:
Итак, я создал базовое библиотечное приложение, которое позволяет пользователям хранить коллекцию книг. Я внедрил систему входа в firebase, но теперь я не уверен, как связать пользователя с их коллекцией. Мой план таков:
- Создайте коллекцию с именем
library
- Добавляйте
book
s вlibrary
всякий раз, когда кто-либо добавляет книгу - Для вышеупомянутого объекта book добавьте поле идентификатора пользователя
- Чтобы получить прочитанные книги текущего пользователя для отображения, просто отфильтруйте данные с помощью user_id
Это подходящий метод? Если нет, то как мне это сделать?
Я не уверен, потому что сохранение поля user_id и просмотр всех книг для поиска книг текущего пользователя не кажутся эффективными.
Комментарии:
1. Почему Javascipt помечен в вопросе Android?
Ответ №1:
Если вы добавите идентификатор пользователя к объекту book , то всякий раз, когда вы ищете что-либо для одного пользователя, вам нужно будет просмотреть весь список книг и весь список пользователей.
Однако, если вы создадите таблицу для ‘Books_By_User_Id’ и под ней создадите ветку для каждого пользователя, а затем под ней вставьте идентификатор выбранной им книги, то вы значительно сократите объем поиска.
Если вы затем захотите выполнить поиск, вы можете сразу перейти к ‘Books_By_User_Id / userid /’ и вернуть только те книги, которые принадлежат этому пользователю.
Комментарии:
1. таблица в firebase?
2. Я имею в виду базу данных в реальном времени. Я предположил, что вы используете базу данных в реальном времени (возможно, глупое предположение). Где вы храните свои данные?
3. Вы можете создать коллекцию под названием users и добавить документ для каждого пользователя, у которого есть массив книг пользователей.
4. @WarrenHarding firestore
5. Обычно я использую Firebase Realtime Database, а не Firestore, но Firestore — очень похожая альтернатива.