详情
订阅
  • 首页
  • 产品
  • 解决方案
  • 文档&开发者
  • 价格体系
  • 合作伙伴
联系我们
用户手册
GraphQL API
APIJson
Restful API
Code Example

过滤

1.字段过滤

当查询moment数据时,发生数据:

{
  "P88666_moment":{
    "id":1692611986409
  }
}

返回数据:

{
    "P88666_moment": {
        "id": 1692611986409,
        "create_user": "jcr",
        "create_time": "2023-08-21 17:59:46",
        "update_user": "jcr",
        "update_time": "2023-08-21 17:59:46",
        "mass_content_control_status": "N",
        "content": "今天天气不错,到处都是提拉米苏雪",
        "mDate": "2023-08-20 08:00:00",
        "pictureList": ""
    },
    "ok": true,
    "code": 200,
    "msg": "success",
}

返回数据会把所有的字段都返回过来,这里这么多字段,如果我只想要content这个字段怎么办?可以这样请求

{
  "P88666_moment": {
    "id": 1692611986409,
    "@column": "content"
  }
}

@column 表示你要筛选出的字段,多个字段用逗号隔开,还可通过冒号可设置字段别名。例如

{
  "P88666_moment": {
    "id": 1692611986409,
    "@column": "content,mDate:publishDate,pictureList:imgs"
  }
}

返回数据:

{
    "P88666_moment": {
        "content": "今天天气不错,到处都是提拉米苏雪",
        "publishDate": "2023-08-20 08:00:00",
        "imgs": ""
    },
    "ok": true,
    "code": 200,
    "msg": "success",
}

字段别名会把原本数据库中的mDate,pictuureList等字段在返回结果中转化为对应的publishDate,imgs等设置的别名。

2.数据过滤

如果想要在列表中筛选出符合一定条件的数据,有以下几种方法。

2.1 逻辑运算

如查询符合 id 为指定数值的数据

请求:

{
    "[]": {
        "P88666_moment": {
            "id{}": [1692758038614,1692757999911]
        }
    }
}

可查询出id为1692758038614,1692758038614的两条数据。这里可以逻辑运算符,比如 查询id 是 300 到 400 之间的,可使用"id&{}":">=300,<=400"

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

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

!主要用于反选,黑名单之类的,比如"id!{}":[12,15,32]表示id不在 12,15,32 内的其他数据。

还可以多个条件组合使用,如下所示,表示 id 在 10 到 40 之间,但是却不包含 12 的数据。

{
  "[]": {
    "P88666_moment": {
      "id&{}": ">=10,<=40",
      "id!{}": [12],
    }
  }
}

2.2 模糊查询

{
  "[]": {
    "P88666_moment": {
      "content$": "%今天%",
    }
  }
}

使用方式有多种:

keyword%,以keyword开头的字符串。

%keyword,以keyword结束的字符串。

%keyword%,包含keyword的字符串,如:keyword123123keyword123keyword123

%k%e%y%,包含字母k,e,y的字符串

还有一种比较便捷的方式,我们这里如果使用"content~":"keyword"来代替"content$":"%keyword%",同样可以表示包含某字符串。

2.3 正则匹配

{
  "[]": {
    "P88666_moment": {
      "content?": "^[0-9]+$",
    }
  }
}

正则表达式^[0-9]+$,查询content为纯数字的数据,正则语法可参考MySQL 的正则语法

2.4 组合过滤

当查询的过滤条件有多个时,需要用到组合过滤,用到了关键词 @combine,示例如下:

{
    "[]": {
        "P88666_moment": {
            "id!{}": [12],
            "id$": "%1\\%",
            "@combine": "id$,id!{}"
        }
    }
}

正常情况下 id!{}id$ 是与的关系,即需要同时满足id!{}:[12]id$:"%1\\%"的数据才会被查询出来。添加 "@combine": "id$,id!{}"后可把与的关系转化为或的关系。常用在全字段模糊查询中。

2.5 关联过滤

当需要查询关联表符合一定的条件的主表数据时,就需要用到关联过滤。

如果按照普通过滤的方式,在P54270_moment_news_link或者P54270_news中添加过滤条件,实际并不影响P54270_moment的返回结果,只是P54270_moment下对应的P54270_moment_news_link或者P54270_news没有数据。例如:在上述Moment模型查询Newstitlexxxxx的数据,在上述请求中P54270_news添加"title": "xxxxx"的过滤条件,

返回结果如下:

{
    "[]": [
        {
            "P54270_moment": {
                "id": 1692774640609,
                "content": "今天天气还是不错的",
                "mDate": "2023-08-10"
            },
            "P54270_moment_news_link_[]": [
                {
                    "P54270_moment_news_link": {
                        "id": 1692847143874,
                        "entity_id": 1692774640609,
                        "entity_link_id": 1692841656558,
                        "filed": "news",
                        "show_value": "瓦格纳几乎所有高层均在坠毁飞机上"
                    }
                }
            ]
        },
        {
            "P54270_moment": {
                "id": 1692778412077,
                "content": "今天又下起了小雪",
                "mDate": "2023-08-15"
            },
            "P54270_moment_news_link_[]": [
                {
                    "P54270_moment_news_link": {
                        "id": 1692841668849,
                        "entity_id": 1692778412077,
                        "entity_link_id": 1692841637131,
                        "filed": "news",
                        "show_value": "新华时评:日本强排核污染水自毁国家形象"
                    }
                }
            ]
        }
    ],
    "ok": true,
    "code": 200,
    "msg": "success"
}

如结果所示,只是没有返回P54270_news的数据,显示与预期不符。可以通过以下方式查询

发送数据

{
    "[]": {
        "P54270_moment": {
            "id@": {
                "from": "P54270_moment_news_link",
                "P54270_moment_news_link": {
                    "@column": "entity_id",
                    "show_value": "海洋动物数量减少"
                }
            },
            "@order": "create_time-"
        },
        "P54270_moment_news_link_[]": {
            "P54270_moment_news_link": {
                "entity_id@": "[]/P54270_moment/id"
            },
            "P54270_news": {
                "id@": "[]/P54270_moment_news_link_[]/P54270_moment_news_link/entity_link_id"
            }
        }
    }
}

响应结果:

{
    "[]": [
        {
            "P54270_moment": {
                "id": 1692778412077,
                "create_user": "jcr",
                "create_time": "2023-08-23 16:13:31",
                "update_user": "jcr",
                "update_time": "2023-08-24 09:47:48",
                "mass_content_control_status": "N",
                "content": "今天又下起了小雪",
                "mDate": "2023-08-15"
            },
            "P54270_moment_news_link_[]": [
                {
                    "P54270_moment_news_link": {
                        "id": 1692841668849,
                        "entity_id": 1692778412077,
                        "entity_link_id": 1692841637131,
                        "filed": "news",
                        "show_value": "海洋动物数量减少"
                    },
                    "P54270_news": {
                        "id": 1692841637131,
                        "create_user": "jcr",
                        "create_time": "2023-08-24 09:47:16",
                        "update_user": "jcr",
                        "update_time": "2023-08-24 09:47:16",
                        "mass_content_control_status": "Y",
                        "title": "海洋动物数量减少"
                    }
                }
            ]
        }
    ],
    "ok": true,
    "code": 200,
    "msg": "success"
}

成功筛选出了关联数据 title为 海洋动物数量减少 的moment集合数据。

P54270_moment 中通过 id@{from:} 添加子查询,通过在子查询中添加过滤条件,从而查询符合条件的正确数据。

    过滤

    1.字段过滤

    当查询moment数据时,发生数据:

    {
      "P88666_moment":{
        "id":1692611986409
      }
    }

    返回数据:

    {
        "P88666_moment": {
            "id": 1692611986409,
            "create_user": "jcr",
            "create_time": "2023-08-21 17:59:46",
            "update_user": "jcr",
            "update_time": "2023-08-21 17:59:46",
            "mass_content_control_status": "N",
            "content": "今天天气不错,到处都是提拉米苏雪",
            "mDate": "2023-08-20 08:00:00",
            "pictureList": ""
        },
        "ok": true,
        "code": 200,
        "msg": "success",
    }

    返回数据会把所有的字段都返回过来,这里这么多字段,如果我只想要content这个字段怎么办?可以这样请求

    {
      "P88666_moment": {
        "id": 1692611986409,
        "@column": "content"
      }
    }

    @column 表示你要筛选出的字段,多个字段用逗号隔开,还可通过冒号可设置字段别名。例如

    {
      "P88666_moment": {
        "id": 1692611986409,
        "@column": "content,mDate:publishDate,pictureList:imgs"
      }
    }

    返回数据:

    {
        "P88666_moment": {
            "content": "今天天气不错,到处都是提拉米苏雪",
            "publishDate": "2023-08-20 08:00:00",
            "imgs": ""
        },
        "ok": true,
        "code": 200,
        "msg": "success",
    }

    字段别名会把原本数据库中的mDate,pictuureList等字段在返回结果中转化为对应的publishDate,imgs等设置的别名。

    2.数据过滤

    如果想要在列表中筛选出符合一定条件的数据,有以下几种方法。

    2.1 逻辑运算

    如查询符合 id 为指定数值的数据

    请求:

    {
        "[]": {
            "P88666_moment": {
                "id{}": [1692758038614,1692757999911]
            }
        }
    }

    可查询出id为1692758038614,1692758038614的两条数据。这里可以逻辑运算符,比如 查询id 是 300 到 400 之间的,可使用"id&{}":">=300,<=400"

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

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

    !主要用于反选,黑名单之类的,比如"id!{}":[12,15,32]表示id不在 12,15,32 内的其他数据。

    还可以多个条件组合使用,如下所示,表示 id 在 10 到 40 之间,但是却不包含 12 的数据。

    {
      "[]": {
        "P88666_moment": {
          "id&{}": ">=10,<=40",
          "id!{}": [12],
        }
      }
    }

    2.2 模糊查询

    {
      "[]": {
        "P88666_moment": {
          "content$": "%今天%",
        }
      }
    }

    使用方式有多种:

    keyword%,以keyword开头的字符串。

    %keyword,以keyword结束的字符串。

    %keyword%,包含keyword的字符串,如:keyword123123keyword123keyword123

    %k%e%y%,包含字母k,e,y的字符串

    还有一种比较便捷的方式,我们这里如果使用"content~":"keyword"来代替"content$":"%keyword%",同样可以表示包含某字符串。

    2.3 正则匹配

    {
      "[]": {
        "P88666_moment": {
          "content?": "^[0-9]+$",
        }
      }
    }

    正则表达式^[0-9]+$,查询content为纯数字的数据,正则语法可参考MySQL 的正则语法

    2.4 组合过滤

    当查询的过滤条件有多个时,需要用到组合过滤,用到了关键词 @combine,示例如下:

    {
        "[]": {
            "P88666_moment": {
                "id!{}": [12],
                "id$": "%1\\%",
                "@combine": "id$,id!{}"
            }
        }
    }

    正常情况下 id!{}id$ 是与的关系,即需要同时满足id!{}:[12]id$:"%1\\%"的数据才会被查询出来。添加 "@combine": "id$,id!{}"后可把与的关系转化为或的关系。常用在全字段模糊查询中。

    2.5 关联过滤

    当需要查询关联表符合一定的条件的主表数据时,就需要用到关联过滤。

    如果按照普通过滤的方式,在P54270_moment_news_link或者P54270_news中添加过滤条件,实际并不影响P54270_moment的返回结果,只是P54270_moment下对应的P54270_moment_news_link或者P54270_news没有数据。例如:在上述Moment模型查询Newstitlexxxxx的数据,在上述请求中P54270_news添加"title": "xxxxx"的过滤条件,

    返回结果如下:

    {
        "[]": [
            {
                "P54270_moment": {
                    "id": 1692774640609,
                    "content": "今天天气还是不错的",
                    "mDate": "2023-08-10"
                },
                "P54270_moment_news_link_[]": [
                    {
                        "P54270_moment_news_link": {
                            "id": 1692847143874,
                            "entity_id": 1692774640609,
                            "entity_link_id": 1692841656558,
                            "filed": "news",
                            "show_value": "瓦格纳几乎所有高层均在坠毁飞机上"
                        }
                    }
                ]
            },
            {
                "P54270_moment": {
                    "id": 1692778412077,
                    "content": "今天又下起了小雪",
                    "mDate": "2023-08-15"
                },
                "P54270_moment_news_link_[]": [
                    {
                        "P54270_moment_news_link": {
                            "id": 1692841668849,
                            "entity_id": 1692778412077,
                            "entity_link_id": 1692841637131,
                            "filed": "news",
                            "show_value": "新华时评:日本强排核污染水自毁国家形象"
                        }
                    }
                ]
            }
        ],
        "ok": true,
        "code": 200,
        "msg": "success"
    }

    如结果所示,只是没有返回P54270_news的数据,显示与预期不符。可以通过以下方式查询

    发送数据

    {
        "[]": {
            "P54270_moment": {
                "id@": {
                    "from": "P54270_moment_news_link",
                    "P54270_moment_news_link": {
                        "@column": "entity_id",
                        "show_value": "海洋动物数量减少"
                    }
                },
                "@order": "create_time-"
            },
            "P54270_moment_news_link_[]": {
                "P54270_moment_news_link": {
                    "entity_id@": "[]/P54270_moment/id"
                },
                "P54270_news": {
                    "id@": "[]/P54270_moment_news_link_[]/P54270_moment_news_link/entity_link_id"
                }
            }
        }
    }

    响应结果:

    {
        "[]": [
            {
                "P54270_moment": {
                    "id": 1692778412077,
                    "create_user": "jcr",
                    "create_time": "2023-08-23 16:13:31",
                    "update_user": "jcr",
                    "update_time": "2023-08-24 09:47:48",
                    "mass_content_control_status": "N",
                    "content": "今天又下起了小雪",
                    "mDate": "2023-08-15"
                },
                "P54270_moment_news_link_[]": [
                    {
                        "P54270_moment_news_link": {
                            "id": 1692841668849,
                            "entity_id": 1692778412077,
                            "entity_link_id": 1692841637131,
                            "filed": "news",
                            "show_value": "海洋动物数量减少"
                        },
                        "P54270_news": {
                            "id": 1692841637131,
                            "create_user": "jcr",
                            "create_time": "2023-08-24 09:47:16",
                            "update_user": "jcr",
                            "update_time": "2023-08-24 09:47:16",
                            "mass_content_control_status": "Y",
                            "title": "海洋动物数量减少"
                        }
                    }
                ]
            }
        ],
        "ok": true,
        "code": 200,
        "msg": "success"
    }

    成功筛选出了关联数据 title为 海洋动物数量减少 的moment集合数据。

    P54270_moment 中通过 id@{from:} 添加子查询,通过在子查询中添加过滤条件,从而查询符合条件的正确数据。