分页
对于数量太多的数据,我们很多时候都需要分页操作,这时候我们可以用类似下面这样的请求。
{
"[]": {
"Moment": {
"@column": "id,date,content,praiseUserIdList"
},
"page": 0,
"count": 5
}
}
请注意,这里的page
和count
是放在[]
内的属性,而不是Moment
对象里。这里count
表示每页的数量,page
表示第几页,页数从 0 开始算。
如果不想分页的,也提供了一套特殊的查询方式。这种查询方式有三种,请求方式类型这样
{
"[]": {
"Moment": {
"@column": "id,date,content,praiseUserIdList"
},
"query": 2
},
"total@": "/[]/total"
}
这里因为query
的值是 2,所有会查询Moment
表中所有的数据。如果是 1 的话,则会返回当前表的总数
{ "total": 59, "code": 200, "msg": "success" }
当然,如果你添加了过滤条件,返回的数量就会是你所过滤的数量,比如:
{
"[]": {
"Moment": {
"@column": "id,date,content,praiseUserIdList",
"praiseUserIdList<>": 38710
},
"query": 1
},
"total@": "/[]/total"
}
返回:
{ "total": 12, "code": 200, "msg": "success" }
嵌套分页
当在多表数组一对多查询中,可能会涉及到嵌套分页的问题,比如
{
"[]": {
"page": 0,
"count": 10,
"P54270_moment": {
"@order": "create_time-"
},
"P54270_moment_news_link_[]": {
"page": 0,
"count": 5,
"P54270_moment_news_link": {
"entity_id@": "[]/P54270_moment/id",
"@order": "create_time+"
},
"P54270_news": {
"id@": "[]/P54270_moment_news_link_[]/P54270_moment_news_link/entity_link_id"
}
}
}
}
在该查询中,外层数组中P54270_moment
会按照一页10条分页,而内层数组P54270_moment_news_link
会按照一页5条分页。