Мне интересно, какова лучшая структура моей базы данных Firestore.
Я хочу создать своего рода менеджера по назначению для сотрудника, чтобы я мог показать каждому сотруднику назначение на определенную дату. Я думал об этих двух вариантах:
- Опция:
У каждого сотрудника есть коллекция Appointments
, где я сохраняю все предстоящие встречи. Документы о назначении будут иметь столбец date
.
Когда я хочу загрузить все встречи на определенную дату, мне придется запросить все встречи к этой дате.
- Опция:
У каждого сотрудника есть коллекция Workdays
с документами на каждый день. Эти рабочие документы будут иметь столбец date
. А затем коллекция с Appointments
, где я сохраняю встречи на рабочий день.
Когда я хочу загрузить все встречи, мне нужно запросить у коллекции Workdays
правильную дату, а затем загрузить все ее Appointments
.
Я ожидаю, что средний рабочий день будет содержать 10-20 встреч. И скажем, я сохраняю встречи на следующие 30 дней. Для варианта 1 мне нужно было бы запросить 300-600 документов до 10-20.
Для варианта 2 у меня будет 30 документов и запросить его для 1 документа. Затем загрузите около 10-20 документов.
Таким образом, в варианте 2 мне нужно будет запрашивать меньше документов, но мне придется подождать, пока запрос не будет завершен, и затем загрузить еще 10-20 документов. В то время как для варианта 1 мне нужно будет запросить больше документов, но как только этот запрос будет завершен, мне больше не нужно загружать документы.
Мне интересно, какой вариант быстрее для моего варианта использования - есть мысли?