По нескольким значениям

Представим, что мы делаем фильтр смартфонов по их году релиза.

Такие фильтры ты мог встретить в крупных интернет-магазинах, типа DNS, Эльдорадо и т.п.

Массив данных выглядит примерно таким образом:

[
  {
    "id": 1,
    "title": "Apple iPhone 12 Pro",
    "year": 2020
  },
  {
    "id": 2,
    "title": "Samsung Galaxy S21",
    "year": 2021
  },
  {
    "id": 3,
    "title": "Xiaomi POCO X5 Pro",
    "year": 2023
  },
  {
    "id": 4,
    "title": "Oppo Realme X2",
    "year": 2022
  },
  {
    "id": 5,
    "title": "iPhone 15 Pro Max",
    "year": 2023
  }
]

Как с помощью Mokky найти все смартфоны с годом 2023 и 2022 ?

Чтобы сделать поиск в одном свойстве по нескольким значениям, необходимо перечислить несколько раз название самого свойства, указав квадратные скобки year[]

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


https://XXX.mokky.dev/items?year[]=2023&year[]=2022

Это работает абсолютно с любыми параметрами, которые есть в ваших объекта, не только с категориями.

Например, можно фильтровать товары по рейтингу rating[]=4&rating[]=5

Данный фильтр бывает полезен, когда реализуется выборка по нескольким значениям из одного свойства в разных объектах.

Поиск по диапазону [from, to]

Если нам нужно отфильтровать товары "от" и "до", то в квадратных скобках указываем "from" и "to".

К примеру, у нас есть объекты со свойствами price и rating (значения являются числовыми).

И нам нужно отфильтровать товары по цене от 7000Р до 12000Р

Для этого выполняем следующий запрос:

/items?price[from]=7000&price[to]=12000

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

Например, та же фильтрация, только по рейтингу от 1 до 3.

/items?rating[from]=1&rating[to]=3

Last updated