Firestore Content Manager

Content Manager — визуальный редактор данных базы Firestore: здесь создают, правят и добавляют документы, не заходя в консоль Firebase.

инфо

Вложенные коллекции в Content Manager пока не поддерживаются.

заметка
Что нужно заранее
  1. Понимание того, как устроена структура базы Firebase.
  2. Пройденные шаги подключения Firebase.
  3. Созданная коллекция.
  4. Описанные поля — Content Manager показывает только те поля, что есть в схеме.

Добавление документа

Прежде чем добавлять документ, убедитесь, что у коллекции описаны поля. Например, коллекция «exam_result» выглядит так:

Коллекция exam_result с полями

Коллекция «exam_result»

Чтобы добавить документ:

  1. Откройте Firestore в меню слева и нажмите Manage Content — откроется новое окно браузера.
  2. Выберите коллекцию и нажмите + Add Document.
  3. Заполните поля и нажмите Add Document.
осторожно

Если появилась ошибка «Could not create an account as firebase@flutterflow.io to your Firebase project», включите в проекте Firebase вход по email.

Ошибка создания аккаунта firebase@flutterflow.io

Массовая загрузка из CSV

Переносить данные из другой системы по одной записи — занятие на несколько дней. Если данные есть в CSV, их можно залить в коллекцию целиком.

инфо

Требования к файлу:

  • Первая строка — заголовки, и названия колонок должны точно совпадать с именами полей коллекции.
  • Координаты записывают как (lat, lng) или [lat,lng].
  • Даты — в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС, время в 24-часовом виде: 2022-11-07 13:05:32.

Вот пример коллекции places и подходящего к ней файла:

Схема коллекции places

places.csv

name,location,last_updated
Central,"(40.76835069123224, -73.97203144014624)",2022-11-07 13:05:32
Museum,"(40.8217031079394, -73.9256367137398)",2022-11-09 16:12:02
Zoo,"(40.85452267684994, -73.8774290321384)",2022-11-04 03:05:54

Как загрузить файл:

  1. Выберите коллекцию и нажмите Upload CSV справа сверху.
  2. Нажмите Select File и укажите файл.
  3. Выберите Separator Type и при необходимости задайте Number of Rows to Upload — если оставить поле пустым, загрузятся все записи.
  4. Нажмите Upload CSV.
  5. Появится предпросмотр: имена полей и их типы.
  6. Нажмите Validate & Import. Если всё в порядке, данные загрузятся и останется нажать Finish and Close. При несовпадении типов или ошибке формата появится такое сообщение:

Сообщение об ошибке формата данных

Ошибка формата

Если в CSV есть колонки, которых нет в схеме, откроется короткий диалог импорта полей — новые поля добавятся в коллекцию вместе с данными.


Поля сложных типов

Кроме строк и чисел, в документе часто нужны ссылки на другие документы, даты, координаты и списки. Разберём каждый случай.

Ссылка на документ

Поле должно иметь Data Type — Doc/Record Reference, а Reference Type — нужную коллекцию.

Выглядит оно так:

Поле типа Doc/Record Reference

Чтобы записать ссылку:

  1. Откройте коллекцию, на документ которой будете ссылаться.
  2. Нажмите на id записи — ссылка скопируется.
  3. Откройте коллекцию, куда добавляете документ, и нажмите + Add Document:
    1. Найдите поле-ссылку и вставьте скопированное значение.
    2. Нажмите Add Document.

Дата и время

Поле должно иметь Data Type — Timestamp.

Выглядит оно так:

Поле типа Timestamp

Откройте нужную коллекцию, нажмите + Add Document и дальше:

  1. Найдите поле даты.
  2. Нажмите на него, выберите Date и нажмите OK.
  3. Выберите Time и нажмите OK.
  4. Нажмите Add Document.
заметка

Чтобы поменять уже заданную дату, нажмите на поле ещё раз — снова откроется календарь.

Координаты

Поле должно иметь Data Type — Lat Lng.

Выглядит оно так:

Поле типа Lat Lng

Откройте нужную коллекцию, нажмите + Add Document и дальше:

  1. Найдите поле координат. Заполнить его можно двумя способами:
    • ввести значения широты и долготы вручную;
    • нажать на иконку, найти место по названию и подставить его координаты.
  2. Нажмите Add Document.

Список значений

Чтобы хранить несколько значений одного типа — скажем, список названий фруктов, — у поля должен быть выбран тип и Field Type, равный List.

Выглядит оно так:

Поле-список

Как заполнить:

  1. Откройте нужную коллекцию и нажмите + Add Document.
  2. Найдите поле-список и нажмите на него.
  3. Нажмите + Add Item и введите значение.
  4. Так же добавьте остальные элементы.
  5. Нажмите Add Document.

Собственный тип данных (Firestore Map)

  1. Откройте нужную коллекцию и нажмите + Add Document.
  2. Найдите поле собственного типа.
  3. Нажмите Tap to Set Fields (Unset) или Tap to Edit Fields — в зависимости от того, создаёте вы документ или правите. Откроется отдельное окно.
  4. Заполните поля вложенного типа.
  5. Нажмите Save Data.
  6. Нажмите Add Document.

Изменение документа

  1. Нажмите карандаш в строке нужного документа. Тот же результат даёт долгое нажатие на любое поле записи, кроме ID.
  2. Внесите правки и нажмите Update Document.
  3. Обновлённые данные сразу появятся в списке.

совет
Мелочи, которые экономят время
  • Нажатие на поле ID копирует ссылку на запись — удобно, когда надо сослаться на пользователя при создании документа.
  • Нажатие на файл открывает его URL.

Частые вопросы

Ошибка «Error updating Firestore Security Rules…»

Нужно выкатить правила Firestore.

Ошибка «Could not create an account as firebase@flutterflow.io to your Firebase project»

Включите в проекте Firebase вход по email.

перевод официальной документации FlutterFlow

обновлено

⌕ ESC