База данных

Раздел «База данных» — это хранилище JSON-документов рабочего пространства. Документы лежат в коллекциях; воркфлоу читают и пишут их нодами db_*, а этот экран нужен, чтобы посмотреть данные глазами и поправить их руками.

app.iterna.ai

База данных / users

users

128 документов · 412 КБ · 3,1 МБ / 1 ГБ использовано

Вставить
_idДокумент
9f13c0a2…{ "name": "Ада", "age": 36, "tags": ["vip"] }
b7e4d115…{ "name": "Борис", "age": 17 }
Слева в боковой панели — список коллекций, справа документы выбранной коллекции.

Коллекции

  1. Откройте «База данных». В боковой панели появится подменю «Коллекции».
  2. Нажмите «+» рядом с заголовком подменю — или кнопку «Новая коллекция» на пустом экране.
  3. Задайте название (обязательно) и, если нужно, описание. Название уникально в пределах рабочего пространства: повторное имя вернёт ошибку.

Выбранная коллекция открывается по клику в подменю. Под её именем показаны число документов, занятый объём и потребление квоты пространства.

Иконка корзины рядом с названием удаляет коллекцию вместе со всеми документами; действие подтверждается диалогом и необратимо. Освободившиеся байты сразу возвращаются в счётчик квоты.

Документы

Список показывает первые 50 документов коллекции, отсортированных по _id. Каждая карточка — это идентификатор и полный JSON документа.

  • Вставить открывает редактор JSON. Тело обязано быть объектом: массив, строка или число отклоняются с сообщением «Документ должен быть JSON-объектом».
  • Поле _id можно задать самому. Если его нет, платформа сгенерирует UUID.
  • Редактировать открывает тот же редактор с текущим содержимым. Сохранение заменяет документ целиком: _id сохраняется, остальные поля берутся из введённого JSON.
  • Корзина в строке документа удаляет его сразу, без подтверждения.

Запросы

Поле над списком принимает фильтр в стиле MongoDB. По умолчанию там {} — «все документы». Кнопка «Запрос» выполняет фильтр и показывает до 100 совпадений.

Поддерживаются:

Группа Операторы
Сравнение $eq, $ne, $gt, $gte, $lt, $lte
Вхождение $in, $nin
Логика $and, $or, $not, $nor
Наличие поля $exists
Массивы $size
Строки $regex

Путь к вложенному полю пишется через точку: user.name, tags.0. Неизвестный оператор — не пустой результат, а ошибка запроса.

Квоты и лимиты

Строка «использовано» сравнивает занятые байты этого пространства с действующим лимитом. Лимитов на самом деле два, и они ограничивают разные величины:

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

На экране показывается тот из них, до которого осталось меньше места, поэтому полоска не расходится с тем, во что вы упрётесь на записи. Значение 0 с любой стороны означает «без ограничения».

Кроме объёма есть два штучных предела, заданных при развёртывании: размер одного документа (по умолчанию 1 МБ) и число документов в коллекции (по умолчанию 1 000 000). Запись сверх любого предела отклоняется с кодом 413, а не обрезается.

Число самих коллекций ограничивает тариф (max_collections) — при исчерпании создание новой коллекции вернёт ошибку квоты.

Права

Читать коллекции и документы может любой участник пространства. Создание коллекции, вставка, правка и удаление документов требуют роли editor или admin: участнику с ролью viewer сервер ответит 403.

Что дальше