Фильтрация записей (where)

Условия отбора: равно, содержит, больше, и их сочетания.

В предыдущей статье мы рассмотрели, как получить данные из таблицы NocoDB через GET-запрос. В этой статье разберём, как фильтровать данные с помощью параметра where.

Параметр where позволяет возвращать только те записи, которые соответствуют заданным условиям.

Пример базы данных

В нашем примере используется таблица со списком пользователей из разных городов.

Она содержит следующие поля:

  • First_name
  • Last_name
  • Phone_number
  • City
  • Gender

Проверка фильтра через Swagger

  1. Откройте "Swagger REST API" вашего NocoDB.
  2. Нажмите "Authorize" и добавьте API-токен.

  1. Найдите метод получения записей (GET /records).

  2. Нажмите "Try it out".

Использование параметра where

В поле where указывается условие фильтрации.

Формат фильтра:

(поле,оператор,значение)

Пример фильтра

Получим пользователей женского пола из города Москва.

Для этого используем выражение:

(Gender,eq,Female)~and(City,eq,Москва)

Где:

  • Gender — поле таблицы
  • eq — оператор равенства
  • Female — значение поля

Оператор ~and объединяет несколько условий.

Более подробно об операторах в официальной документации NococDB.

Введите данный фильтр в поле where.

Нажмите Execute.

В ответе вы получите список записей, соответствующих фильтру.

В нашем примере это будут все пользователи женского пола из города Москва.

Ответ возвращается в формате JSON.

Фильтр в готовом запросе

Тот же фильтр подставляется в запрос из любого инструмента — n8n, скрипта или консоли.

Для этого достаточно записать выражение фильтра в переменную %where%.

Например:

%where% = "(Gender,eq,Female)~and(City,eq,Москва)"

После этого фильтр автоматически добавится в URL запроса, который формируется в блоке "SmartQuery".

О том, как формировать GET-запросы к NocoDB, читайте в статье "Просмотр данных (GET)"