Выберите структуру данных
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Помните, что при структурировании данных в Cloud Firestore у вас есть несколько различных вариантов:
Документы
Множество коллекций
Подгруппы внутри документов
Рассмотрите преимущества каждого варианта в контексте вашего конкретного случая. В этом руководстве приведены несколько примеров структур для иерархических данных.
Вложенные данные в документах
Вы можете вкладывать сложные объекты, такие как массивы или карты, в документы.
Преимущества: Если у вас есть простые, фиксированные списки данных, которые вы хотите хранить в документах, это легко настроить и оптимизирует структуру ваших данных.
Ограничения: Этот вариант не так масштабируем, как другие, особенно если ваши данные со временем увеличиваются. При больших или постоянно растущих списках увеличивается и размер документа, что может привести к замедлению времени поиска документа.
Какой возможный вариант использования? Например, в чат-приложении можно хранить 3 последних посещенных пользователем чата в виде вложенного списка в его профиле.
class аловелайс
имя : первый: "Ада" последний: "Лавлейс" родился: 1815 год комнаты: 0: "Программный чат" 1: «Известные личности» 2: «Знаменитые разработчики программного обеспечения»
Подколлекции
Вы можете создавать коллекции внутри документов, если у вас есть данные, объем которых может увеличиваться со временем.
Преимущества: По мере роста ваших списков размер родительского документа не меняется. Вы также получаете полные возможности запросов к подколлекциям и можете выполнять запросы к группам коллекций в рамках подколлекций.
Ограничения: Вы не можете легко удалять подколлекции.
Какой возможный сценарий использования? Например, в том же приложении для чата вы можете создавать коллекции пользователей или сообщений внутри документов чат-комнаты.
collections_bookmark наука
class программного обеспечения имя: "программный чат"
collections_bookmark users
class аловелайс первый: "Ада" последний: "Лавлейс"
class райд первый: "Салли" последний: "Поездка"
class астрофизики
...
Коллекции корневого уровня
Создавайте коллекции на корневом уровне вашей базы данных для организации разрозненных наборов данных.
Преимущества: Корневые коллекции хорошо подходят для связей «многие ко многим» и обеспечивают мощные возможности запросов внутри каждой коллекции.
Ограничения: Получение данных, имеющих иерархическую структуру, может становиться все более сложным по мере роста вашей базы данных.
Какой возможный сценарий использования? Например, в одном и том же приложении для чата вы можете создать одну коллекцию для пользователей и другую для комнат и сообщений.
collections_bookmark users
class аловелайс первый: "Ада" последний: "Лавлейс" родился: 1815 год
class райд первый: "Салли" последний: "Поездка" Дата рождения: 1951
collections_bookmark комнаты
class программного обеспечения
collections_bookmark сообщения
class сообщение1 из: "alovelace" содержание : "..."
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-12-19 UTC."],[],[]]