Перейти к основному содержимому

Запросы к коллекции

Запрос отвечает на вопрос об одной коллекции — есть ли подходящие записи, сколько их, какие ключи или записи подходят и каковы итоги по группам. Быстрые условия находят нужные записи сразу, без чтения всей коллекции (см. Производительность).

Один и тот же конструктор доступен на вкладке Запрос страницы «Данные» и в операции Запрос ноды «Данные проекта».

Режимы​

РежимЧто возвращает
Проверка наличияЕсть ли хотя бы одна подходящая запись
КоличествоЧисло подходящих записей
КлючиКлючи подходящих записей, постранично
ЗаписиПодходящие записи, постранично
Итоги по группамЧисло записей и выбранные метрики для каждой группы

Выбирайте самый лёгкий режим, который отвечает на вопрос: для проверки существования не нужно запрашивать сами записи.

Условия​

Поля​

Условия можно задавать по полям платформы и по объявленным для коллекции полям для фильтров.

Поле платформыЗначение
КлючКлюч записи
СозданаВремя последнего сохранения записи; обновляется при каждом сохранении
ОбновленаВремя последнего изменения записи
Кем занятаКто последним сохранил или занял запись
УдалитсяВремя истечения срока хранения

Поле учитывается только у записей, сохранённых после его добавления; старые записи считаются незаполненными, даже если путь уже есть в JSON: их находят Не заполнено, Не равно и Не входит в список, а в итогах они попадают в группу null. Подробнее — поля для фильтров.

Операторы​

Доступные операторы зависят от типа поля:

ОператорТекстДа/нетЧислоДата и время
Равно✓✓✓✓
Не равно✓✓✓✓
Входит в список✓✓✓✓
Не входит в список✓✓✓✓
Не заполнено✓✓✓✓
Заполнено✓✓✓✓
Начинается с✓
Содержит✓
Между✓✓
Больше, Больше или равно, Меньше, Меньше или равно✓✓
  • Текст сравнивается точно, с учётом регистра.
  • Не заполнено находит отсутствующее значение и null; Заполнено — наоборот. Эти операторы не требуют значения.
  • Списки принимают до 20 значений; Между включает границы, причём «От» должно быть не больше «До».
  • Одно значение условия — не длиннее 1024 байт.

Значения дат​

СпособЗначение
ТочноеФиксированные дата и время
ОтносительноеПоложительное целое число дней или часов назад от времени запуска запроса
ПеременнаяЗначение из процесса; доступно только в ноде

Относительное значение доступно для Равно, Не равно и сравнений, но не для Между и списков.

Группы «И» и «ИЛИ»​

И требует выполнения всех условий группы, ИЛИ — хотя бы одного. Всего допускается до 10 условий, а группы можно вложить только на один уровень; в каждой группе должно быть хотя бы одно условие. Если условий нет, запрос охватывает всю коллекцию.

Начало ключа​

Начало ключа — самый быстрый способ сузить запрос. Например, ключи вида 2026-09-28:order-1041 позволяют выбрать записи за месяц префиксом 2026-09- или за день префиксом 2026-09-28:.

С префиксом в режимах Ключи и Записи сортируйте по ключу по возрастанию и не добавляйте другие условия по Ключу — иначе запрос может просмотреть всю коллекцию.

Сортировка и страницы​

В режимах Ключи и Записи сортировка по умолчанию — по ключу; размер страницы — от 1 до 1000 записей, по умолчанию 100. В режиме Записи можно вернуть до 20 любых путей внутри значения; без списка путей возвращается запись целиком.

Следующая страница доступна только при сортировке по ключу по возрастанию. При другой сортировке сузьте условия или увеличьте размер страницы. В режиме Записи условие Между по числовому полю без явной сортировки и префикса упорядочивает записи по этому полю, но следующую страницу получить нельзя.

Сортировка или условие по полям Обновлена, Кем занята и Удалится требует полного чтения; режим Записи с такой сортировкой или условиями не выполняется.

Итоги по группам​

Выберите поле группировки и до 6 метрик. Группы идут по возрастанию; незаполненное значение образует первую группу null, в том числе для записей, сохранённых до добавления поля.

МетрикаНужно полеТип поля
КоличествоНет—
СуммаДаЧисло
СреднееДаЧисло
МинимумДаЧисло, дата и время
МаксимумДаЧисло, дата и время

Для каждой группы возвращается число записей независимо от выбранных метрик. Итоги всегда читают записи по одной; задайте Начало ключа, чтобы ограничить чтение. Если групп слишком много, запрос завершится ошибкой — выберите поле с меньшим числом разных значений.

Производительность​

Быстрее всего сужают поиск Начало ключа, Равно/сравнения/Между по полю коллекции, Равно по Ключу и Равно/сравнения/Между по Создана. Полное чтение обычно требуют Не равно, Начинается с, Содержит, списки, ИЛИ, условия или сортировка по Обновлена, Кем занята или Удалится, а также группировка.

В режимах Ключи, Записи и Итоги по группам списки и любое ИЛИ требуют полного чтения. В Проверке наличия быстрые условия ИЛИ проверяются отдельно; в Количестве быстрое ИЛИ из равенств по одному полю коллекции эквивалентно Входит в список, а прочие варианты ИЛИ требуют полного чтения.

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

Где выполняетсяВремяПредел чтения: наличие, количество, ключиПредел чтения: итоги
Страница «Данные»20 секунд800 000 записей400 000 записей
Нода5 секунд200 000 записей100 000 записей

Пределы касаются только запросов, которые читают записи одну за другой; такой запрос отклоняется до начала чтения, если ему пришлось бы прочитать больше предела. Быстрых запросов пределы не касаются. Чтобы ускорить запрос:

  • используйте Равно или сравнение по объявленному полю;
  • задайте Начало ключа;
  • разделите ИЛИ на отдельные запросы;
  • сортируйте по ключу, Создана или полю коллекции;
  • храните производное значение, например customer.domain, отдельным полем вместо поиска через Содержит.

Количество​

Количество иногда может быть приблизительным, но не ниже истинного (примерно 0 означает отсутствие записей); Проверка наличия всегда точна.

Запрос на странице и в ноде​

В ноде можно подставлять переменные в значения условий, Начало ключа, Курсор страницы и Записей на странице. Для следующей страницы передайте nextCursor из предыдущего результата.

Для ноды действуют 5 секунд и меньшие пределы чтения, указанные выше; подробности — в описании ноды «Данные проекта».

Примеры​

Для примеров до сохранения заказов объявлены поля status (текст), amount (число), paidAt (дата и время) и customer.email (текст).

{
"status": "paid",
"amount": 1500,
"paidAt": "2026-09-28T10:15:00Z",
"customer": { "email": "anna@example.com" }
}

Оплаченные заказы за последние 7 дней: status Равно paid и paidAt Больше или равно 7 дням назад; режим Записи, сортировка по ключу.

Сумма по статусам за сентябрь: префикс 2026-09-, группировка по status, метрики Количество и Сумма по amount.

Есть ли заказ с заданным email: customer.email Равно переменной процесса, режим Проверка наличия в ноде.