Фильтрация записей (where)
Условия отбора: равно, содержит, больше, и их сочетания.
В предыдущей статье мы рассмотрели, как получить данные из таблицы NocoDB через GET-запрос. В этой статье разберём, как фильтровать данные с помощью параметра where.
Параметр where позволяет возвращать только те записи, которые соответствуют заданным условиям.
Пример базы данных
В нашем примере используется таблица со списком пользователей из разных городов.
Она содержит следующие поля:
- First_name
- Last_name
- Phone_number
- City
- Gender

Проверка фильтра через Swagger
- Откройте "Swagger REST API" вашего NocoDB.
- Нажмите "Authorize" и добавьте API-токен.

-
Найдите метод получения записей (
GET /records). -
Нажмите "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)"