Я создаю приложение React / Firebase, и мне нужно структурировать свои данные, чтобы многие пользователи могли использовать приложение с надлежащей производительностью и безопасностью.
Вот схема:
У меня есть стандартные пользователи Firebase (для аутентификации) и дополнительная коллекция users
для хранения дополнительных данных о каждом пользователе (адрес и т. Д.).
У каждого пользователя должно быть множество задач, доступных только для просмотра / просмотра самим пользователем. Задачи не могут быть разделены между пользователями.
Помимо задач, может быть много других типов документов, которые зависят от пользователя. Например, проекты. Различные проекты могут содержать одни и те же задачи, но проекты зависят от пользователя.
Должен ли я хранить все задачи в коллекции tasks
, все проекты в коллекции projects
, а затем указывать, к какому пользователю относится задача / проекты в каждом документе задачи / проекта? В таком случае, я просто сохраняю uid каждого пользователя в документе?
Или я должен иметь коллекцию tasks
, коллекцию projects
, с вложенной коллекцией для каждого пользователя?
Основными проблемами являются производительность и безопасность, я не представляю, как Firestore сравнивает классические реляционные базы данных с точки зрения производительности.