Cloud Firestore
Firestore Database — облачная NoSQL-база от Firebase. Она хранит данные приложения и через подписки держит их в актуальном состоянии на всех устройствах.
Что такое NoSQL
NoSQL-база не требует схемы: данные лежат не в таблицах, и жёстких ограничений на их форму нет. Firestore использует модель «коллекция — документ».
Три понятия:
- Коллекция — набор документов.
- Документ — запись, состоящая из полей.
- Поля — пары «ключ — значение» внутри документа: имя, город, возраст.
Наглядно:

Данные каждого пользователя лежат в отдельном документе, документы собраны в коллекцию. Важная деталь: документы одной коллекции не обязаны иметь одинаковый набор полей. Добавили в новый документ поле с датой рождения или картинкой — старые документы править не нужно.
Структура базы
Разберём на примере: пользователи оставляют комментарии к постам. Структуру можно собрать двумя способами:
Корневые коллекции
Несколько коллекций создаются на верхнем уровне базы — скажем, «comments» и «posts». Все комментарии ко всем постам лежат в одной коллекции, а связь с постом хранится в отдельном поле-ссылке.

Когда вы часто ищете и фильтруете внутри одной коллекции, не заглядывая в другую. Например, нужно показать все комментарии сразу — независимо от постов, скажем самые залайканные.
Вложенные коллекции
Коллекция создаётся внутри документа — это и есть subcollection.
Скажем, в корне лежит коллекция «posts», а внутри её документов — коллекция «comments». Поле-ссылка тут не нужно: комментарий и так лежит внутри своего поста.

Когда запросы к одной коллекции почти всегда привязаны к документу другой. Например, вы загружаете и ищете комментарии конкретного поста.
Доступ к данным ограничивается правилами Firestore.
Другие NoSQL-решения на рынке — MongoDB, Cassandra и ElasticSearch.
Если удобнее посмотреть видео:
Несколько баз в одном проекте
В одном проекте Firebase можно держать несколько баз Firestore. Это пригодится, когда данные разнесены по регионам или когда у каждого клиента должно быть своё изолированное хранилище.
Так же разделяют окружения — разработку, тестирование, продакшн. Но учтите: с окружениями разработки во FlutterFlow это никак не связано. Переключая окружение, Firestore Database ID придётся менять руками.
Чтобы создать базу, откройте Firebase Console > Firestore Database и нажмите Add database рядом с базой по умолчанию. Выберите регион и настройте правила безопасности. Между базами потом переключаются через выпадающий список.
Дальше скопируйте новый Database ID, откройте FlutterFlow > Settings and Integrations > Firebase > Advanced Settings, вставьте его в поле Firestore Database ID и заново сгенерируйте файлы конфигурации. Приложение начнёт работать с новой базой.