逻辑运算-筛选

如果想要筛选出,ID 在12,15,32中的这三条数据的日期内容怎么办呢?

请求:

  1. {
  2. "[]": {
  3. "Moment": {
  4. "id{}": [12, 15, 32],
  5. "@column": "id,date,content"
  6. }
  7. }
  8. }

响应:

  1. {
  2. "[]": [
  3. {
  4. "Moment": {
  5. "content": "1111534034",
  6. "date": "2017-02-08 16:06:11.0",
  7. "id": 12
  8. }
  9. },
  10. {
  11. "Moment": {
  12. "content": "APIJSON is a JSON Transmission Structure Protocol…",
  13. "date": "2017-02-08 16:06:11.0",
  14. "id": 15
  15. }
  16. },
  17. {
  18. "Moment": {
  19. "date": "2017-02-08 16:06:11.0",
  20. "id": 32
  21. }
  22. }
  23. ],
  24. "code": 200,
  25. "msg": "success"
  26. }

如果所要筛选的数据的是在一定范围内的,比如 ID 是 300 到 400 之间的

你可以这样过滤"id&{}":">=300,<=400"

&的作用是表明后面的两个过滤条件的逻辑关系

  1. (ID >= 300 AND ID <= 500)

现在的逻辑符号一共有三种,&|!

默认的逻辑关系是|,也就是说"id|{}":"<=300,>=400""id{}":"<=300,>=400"等价。

!主要用于反选,黑名单之类的

"id!{}":[12,15,32]表示id不在 12,15,32 内的其他数据。

复杂一些,如果多个条件相互组合,可以写多个关于 id 的过滤条件

  1. {
  2. "[]": {
  3. "Moment": {
  4. "id&{}": ">=10,<=40",
  5. "id!{}": [12],
  6. "@column": "id,date,content:text"
  7. }
  8. }
  9. }

比如这里表示 id 在 10 到 40 之间,但是却不包含 12 的数据。