Как создать схему базы данных Cloud Firestore

миграция из базы данных в реальном времени в cloud firestore требует полной реорганизации базы данных. Для этого я создал пример с некоторыми основными дизайнерскими решениями. См. рисунок и дизайн базы данных в электронной таблице ниже. Две мои вопросы:

1-когда у меня есть отношение один ко многим, это также возможность хранить информацию в виде массива в документе? См. строку 8 в разделе проектирование базы данных.

2 - должен ли я включать только ссылку или дублировать всю информацию в один-ко-многим отношения. См. строку 38 в модели базы данных.

enter image description here

https://docs.google.com/spreadsheets/d/13KtzSwR67-6TQ3V9X73HGsI2EQDG9FA8WMN9CCHKq48/edit?usp=sharing

1 ответов


для вопроса 1 есть решение в документах firestore: https://cloud.google.com/firestore/docs/solutions/arrays

вместо использования массива вы используете карту значений и устанавливаете их в "true", что позволяет вам запрашивать их, например:

teachers: {
        "teacherid1": true,
        "teacherid2": true,
        "teacherid3": true
    }

и для вопроса 2 вам просто нужно сохранить идентификаторы учителя, потому что, если у вас есть, вы можете легко запросить соответствующие данные.