Я использую очень иерархическую структуру, которая выглядела бы так, как будто бы у нее были похожие проблемы, НО ...
... с базой данных SQL, такой как Firestore, вы должны УДАЛИТЬ SQL мантра DRY. Если данные имеют статус c (например, какие бы данные «компании» вам на самом деле не требовались для назначения), вы можете и должны копировать эти данные.
Например, вы может довольно просто добавить к документу о встрече структуру:
appointmentSchema = {
....
....
company: {
id: {string},
name: {string},
location: {string}
}
}
Да, это использует хранилище. Так? Firestore в основном не взимает плату за этот небольшой объем дополнительного хранилища, а взимает плату за получение новой копии. Поскольку эти данные не изменяются динамически, гораздо эффективнее добавить их в документ встречи при создании.
выборка документа должна быть зарезервирована для динамических c данных.