Фильтрация данных осуществляется при помощи добавления объекта filter.
Пример
{
"action":"pd_users",
"method":"Query",
"data":[
{
"filter":[
{
"property":"c_firstname",
"value":"Яковлев",
"operator":"like"
}
],
"page":1,
"start":0,
"limit":25
}
],
"type":"rpc",
"tid":21
}
Объект фильтра состоит из:
- property: string – наименование колонки
- value: any – значение для фильтрации
- operator: string – оператор применяемый при фильтрации. Может не указываться, тогда требуется подразумевать, что operator равен =.
Значения передаваемые в параметре operator:
- < или lt
- <= или lte
- = или eq
- >= или gte
- > или gt
- <> или ne
- in
- notin
- isnot
- is
- like
- ilike
При применения множественной фильтрации в массив filter требуется передавать несколько значений. В этом случаи применять логический оператор AND.
{
"action":"pd_users",
"method":"Query",
"data":[
{
"filter":[
{
"property":"c_firstname",
"value":"Яковлев",
"operator":"like"
},
{
"property":"c_tel",
"value": "112"
}
],
"page":1,
"start":0,
"limit":25
}
],
"type":"rpc",
"tid":21
}
Пример применения логического оператора OR указан тут.
Фильтрация по колонке JSonb
"filter": [{"property":"jb_data.b_free", "value": "true"}] == или с приведением == "filter": [{"property":"jb_data.b_free::boolean", "value": true}]