База данных
Раздел «База данных» — это хранилище JSON-документов рабочего пространства.
Документы лежат в коллекциях; воркфлоу читают и пишут их нодами db_*, а этот экран
нужен, чтобы посмотреть данные глазами и поправить их руками.
База данных / users
users
128 документов · 412 КБ · 3,1 МБ / 1 ГБ использовано
| _id | Документ |
|---|---|
| 9f13c0a2… | { "name": "Ада", "age": 36, "tags": ["vip"] } |
| b7e4d115… | { "name": "Борис", "age": 17 } |
Коллекции
- Откройте «База данных». В боковой панели появится подменю «Коллекции».
- Нажмите «+» рядом с заголовком подменю — или кнопку «Новая коллекция» на пустом экране.
- Задайте название (обязательно) и, если нужно, описание. Название уникально в пределах рабочего пространства: повторное имя вернёт ошибку.
Выбранная коллекция открывается по клику в подменю. Под её именем показаны число документов, занятый объём и потребление квоты пространства.
Иконка корзины рядом с названием удаляет коллекцию вместе со всеми документами; действие подтверждается диалогом и необратимо. Освободившиеся байты сразу возвращаются в счётчик квоты.
Документы
Список показывает первые 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.