跳转到内容
搜索文档

分页

最后更新 查看 MarkdownAgent 设置

分页——将查询结果拆分为更小的部分——可以使用 limitorderBy 与筛选参数完成。GraphQL Analytics API 不支持用于分页的游标(cursor)。

  • limit(整数)定义返回多少条记录。
  • orderBy(字符串)定义数据的排序顺序。

不使用游标的分页查询

我们的示例假定 dateclientCountryName 的组合关系是唯一的。

获取查询的前 n 条结果

要限制结果数量,请将 limit 参数添加为整数。例如,查询前两条记录:


firewallEventsAdaptive (limit: 2, orderBy: [datetime_ASC, clientCountryName_ASC]) {
    datetime
    clientCountryName
}

响应


{
  "firewallEventsAdaptive" : [
    {
      "datetime": "2018-11-12T00:00:00Z",
      "clientCountryName": "UM"
    },
    {
      "datetime": "2018-11-12T00:00:00Z",
      "clientCountryName": "US"
    }
  ]
}

使用筛选器查询下一页

要获取接下来的 n 条结果,请指定筛选器以排除上一次查询的最后一条结果。以上一个示例为例,可在 clientCountryName 字段后附加大于运算符(_gt),并在 datetime 字段后附加大于或等于运算符(_geq)。这时排序顺序的精确性就显得重要:使用更细粒度的排序顺序更不容易遗漏结果。


firewallEventsAdaptive (limit: 2, orderBy: [datetime_ASC, clientCountryName_ASC], filter: {datetime_geq: "2018-11-12T00:00:00Z", clientCountryName_gt: "US"}) {
    datetime
    clientCountryName
}

响应


{
  "firewallEventsAdaptive" : [
    {
      "datetime": "2018-11-12T00:00:00Z",
      "clientCountryName": "UY"
    },
    {
      "datetime": "2018-11-12T00:00:00Z",
      "clientCountryName": "UZ"
    }
  ]
}

查询上一页

要获取前 n 条结果,请反转筛选器与排序顺序。


firewallEventsAdaptive (limit: 2, orderBy: [datetime_DESC, clientCountryName_DESC, filter: {datetime_leq: "2018-11-12T00:00:00Z", clientCountryName_lt: "UY"}]) {
  datetime
  clientCountryName
}

响应


{
  "firewallEventsAdaptive" : [
    {
      "datetime": "2018-11-12T00:00:00Z",
      "clientCountryName": "US"
    },
    {
      "datetime": "2018-11-12T00:00:00Z",
      "clientCountryName": "UM"
    }
  ]
}

这篇文档对您有帮助吗?