FilterContainer состоит из "объекта" where, объединяющий в поле operands условия фильтрации. Условия фильтрации объединяются согласно правилу, описанному в поле operatorType (1 - операция AND, 2- OR).
Условия фильтрации вкладываются в поле-массив operands.
В простом случае условие отбора состоит из поля:
field - поле модели на бэке,
value - требуемое значение (или его часть),
filterType - тип элемента сравнения значения из фильтра с искомыми. Может принимать один из следующих значений:
- Поле не фильтруется.
None = 0,
- Поле равно значению.
Equal = 1,
- Поле не равно значению.
NotEqual = 2,
- Поле меньше значения.
LessThan = 3,
- Поле больше значения.
GreaterThan = 4,
- Поле меньше или равно значению.
LessThanOrEqual = 5,
- Поле больше или равно значению.
GreaterThanOrEqual = 6,
- Поле содержит значение.
Contains = 7,
- Поле не содержит значение.
NotContains = 8,
- Поле начинается со значения.
StartsWith = 9,
- Поле не начинается со значения.
NotStartsWith = 10,
Но также условия отбора могут быть и сложными, т.е. включать в себе наборы operands (для сравнения).
Ниже приложен пример фильтра для поиска медицинской карты стационарного больного по полю GUID:
Блок кода | ||||
---|---|---|---|---|
| ||||
{ "where": { "field": null, "filterType": 0, "value": null, "operatorType": 1, "operands": [ { "field": "GUID", "filterType": 1, "value": "eb8820f7-9dc2-44d6-802f-ebc231224485", "operands": null, "operatorType": 0 } ] }, "take": 100, "skip": 0 } |