Менеджер содержимого Firestore предоставляет удобный способ визуального создания, редактирования и добавления документов в базу данных Firestore. Эта функция включена в наши тарифные планы Pro.
Предварительные условия
Прежде чем приступить к работе с этим разделом, убедитесь, что вы:
- Знакомство со структурированием базы данных Firebase.
- Выполнили все шаги в разделе Firebase Setup для своего проекта.
- Добавили firebase@flutterflow.io в качестве редактора в проект Firebase и получили необходимые права.
- Создали коллекцию.
- Определили поля вашей схемы Firebase. В диспетчере содержимого Firebase отображаются только поля, определенные в схеме Firebase.
Открытие магазина Firestore Контент-менеджер
Чтобы открыть менеджер содержимого магазина Firestore:
- Перейдите на вкладку Firestore в левом боковом меню.
- Щелкните на пункте Управление содержимым. Откроется новое окно браузера.

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

Чтобы добавить документ, выполните следующие действия:
- Откройте менеджер содержимого Firestore.
- Выберите коллекцию, в которую вы хотите добавить документ, а затем выберите + Добавить документ. Появится всплывающее окно.
- Введите информацию для записи.
- Нажмите кнопку Добавить документ.

Вот как выглядит добавленный документ:

Загрузка CSV-файла для массового добавления
Возможно, вам потребуется перенести данные из другого места в коллекцию вашего текущего проекта. Добавление обширного списка записей по одной — невероятно трудоемкий процесс. Если вы можете получить или уже имеете данные в файле CSV (значения, разделенные запятыми), мы разрешаем загрузить CSV-файл, и ваши данные будут загружены в коллекцию всего за несколько шагов.
Для успешной загрузки данных:
- Убедитесь, что в CSV-файле есть строки заголовка. Заголовок должен содержать точное название полей, имеющихся в вашей коллекции.
- Если вы загружаете данные по широте и долготе, убедитесь, что они имеют формат (lat, lng) или [lat,lng].
- Даты должны быть в формате YYYY-MM-DD HH:MM:SS, а часы должны быть в формате 24 часа (например, 2022-11-07 13:05:32).
Для лучшего понимания приводим пример сбора мест и 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
Вот как выполняется загрузка CSV-файла:
- Откройте менеджер содержимого Firestore.
- Выберите коллекцию и нажмите кнопку Upload CSV (см. правый верхний угол). Откроется всплывающее окно.
- Нажмите кнопку Выбрать файл и загрузите CSV-файл.
- Теперь можно выбрать тип разделителя и ввести число строк для загрузки. Если оставить это значение пустым, то будут импортированы все записи.
- Нажмите кнопку Upload CSV.
- После загрузки файла вы увидите предварительный просмотр данных с указанием названия поля и его типа.
- Нажмите кнопку Проверить и импортировать. Если все выглядит хорошо, данные будут импортированы, и вы можете завершить работу и закрыть файл. Если возникнет проблема с несовпадением типов данных или с форматированием, появится сообщение следующего вида:


Если ваш CSV-файл содержит дополнительные поля, то вы пройдете быстрый процесс импорта полей, который добавит новые поля с их данными в вашу коллекцию.

Добавление расширенных полей
Возможно, вам потребуется добавить некоторые расширенные поля для хранения таких данных, как ссылка на документ, дата-время, LatLng и несколько элементов.
Рассмотрим, как добавить их с помощью Firestore Content Manager.
Ссылка на документ
Для хранения ссылки на документ необходимо создать поле, тип данных которого установлен на Doc/Record Reference, а тип ссылки — на Collection.
Поле выглядит следующим образом:

Чтобы добавить ссылку на документ, выполните следующие действия:
- Откройте менеджер содержимого Firestore.
- Сначала выберите Коллекцию, из которой вы хотите получить ссылку на документ.
- Щелкните на идентификаторе записи, чтобы скопировать ссылку на документ.
- Теперь выберите Коллекцию, в которую вы хотите добавить документ, и нажмите + Добавить документ. Появится всплывающее окно.
- Введите другую информацию для записи.
- Найдите поле, принимающее ссылку на документ, и вставьте его.
- Нажмите кнопку Добавить документ.

Подробнее о том, зачем нужно хранить ссылки на документы, читайте здесь.
Date Time
Для хранения DateTime убедитесь, что у вас есть поле с типом данных Timestamp.
Поле выглядит следующим образом:

Для добавления даты и времени:
- Откройте Менеджер содержимого Firestore.
- Выберите коллекцию, в которую вы хотите добавить документ, а затем выберите + Добавить документ.
- Появится всплывающее окно.
- Введите другую информацию для записи.
- Найдите поле, которое принимает значение DateTime.
- Щелкните на нем, выберите дату и нажмите кнопку OK.
- Теперь выберите Время и нажмите кнопку ОК.
Нажмите кнопку Добавить документ.

Lat Lng
Чтобы хранить широту и долготу любого места, необходимо создать поле с типом данных Lat Lng.
Поле выглядит следующим образом:

Чтобы добавить значение Lat Lng для любого места:
- Откройте менеджер содержимого Firestore.
- Выберите коллекцию, в которую вы хотите добавить документ, а затем выберите + Добавить документ. Появится всплывающее окно.
- Введите другую информацию для записи.
- Найдите поле, которое принимает значение LatLng. Добавить LatLng можно двумя способами.
-
- Непосредственно добавить значение LatLng для любого места.
- Щелкните на значке поиска места (), чтобы найти и получить значение LatLng.
-
- Нажмите кнопку Добавить документ.

Множественные элементы
Для хранения нескольких элементов одного типа данных, например, списка названий фруктов, необходимо создать поле с типом данных any from this и типом Field Type, установленным на List.
Поле выглядит следующим образом:

Чтобы добавить данные в поле списка, выполните следующие действия:
- Откройте менеджер содержимого Firestore.
- Выберите коллекцию, в которую вы хотите добавить документ, а затем выберите + Добавить документ. Появится всплывающее окно.
- Введите другую информацию для записи.
- Найдите поле, которое принимает форму списка, и щелкните на нем.
- Нажмите + Добавить элемент и введите значение.
- Аналогичным образом добавьте еще несколько элементов.
- Нажмите кнопку Добавить документ.

Пользовательский тип данных (он же Firestore Map)
Чтобы добавить данные в поле пользовательского типа данных, выполните следующие действия:
- Откройте менеджер содержимого Firestore.
- Выберите Коллекцию, в которую вы хотите добавить документ, а затем выберите + Добавить документ. Появится всплывающее окно.
- Введите другую информацию для записи.
- Найдите поле, принимающее пользовательский тип данных.
- Выберите пункт Tap to Set Fields (Установить поля) (Unset) или Tap to Edit Fields (Редактировать поля) (в зависимости от того, создается или обновляется документ). В результате откроется новое всплывающее окно.
- Введите значения для полей пользовательского типа данных.
- Выберите Сохранить данные.
- Нажмите кнопку Добавить документ.

Обновление документа
Чтобы обновить документ, выполните следующие действия:
- Выберите значок карандаша в строке документа, который необходимо обновить. Также можно открыть запись, нажав длительное время на любое поле документа (кроме ID).
- Появится всплывающее окно. Обновите документ, если это необходимо, а затем выберите Обновить документ.
- Теперь обновленная информация будет отображаться в коллекции.

Другие советы и рекомендации
- При щелчке на поле ID происходит копирование *ссылки* в запись. Это полезная функция, когда необходимо сослаться на пользователя при создании документа.
- При щелчке на активах открывается URL-адрес актива.
Вопросы и ответы
- Получение ‘Ошибка обновления правил безопасности Firestore…’

Ответ: Для устранения этой проблемы необходимо развернуть правила Firestore Rules.
- Получение ошибки «Не удалось создать учетную запись в качестве firebase@flutterflow.io для вашего проекта Firebase.»

Ответ: Если вы столкнулись с подобной проблемой, то вам просто необходимо включить функцию ‘Email Sign-In’ в проекте Firebase.
