分页和排序

分页

使用 limitoffset 来控制分页数据:

  • limit 指定该请求返回的结果个数
  • offset 偏移量,指定该请求返回的结果的起始位置

默认 limit20, offset0,我们也可以手动指定 limitoffset 来控制。例如,每页展示 100 条数据,需要获取第 5 页的数据,将 limit 设置为 100offset 设置为 400 即可。limit 最大可设置为 1000。

  1. let query = Query()
  2. query.limit = 10
  3. query.offset = 0
  4. table.find(query: query) { (listResult, error) in
  5. }
  1. BaaSQuery *query = [[BaaSQuery alloc] init];
  2. query.offset = 10;
  3. query.limit = 0;
  4. [table findWithQuery:query completion:^(BaaSRecordList * _Nullable listResult, NSError * _Nullable error) {
  5. }];

参数说明

参数类型必填说明
queryQueryN查询条件,详见数据表 - 查询

返回结果

名称类型说明
listResultRecordList结果列表,详见 数据类型 章节
errorNSError错误信息,参考错误处理和错误码

通过 RecordList 类型的 nextprevious 属性来判断下一页或上一页是否有数据。若 nextnull,表示当前为最后一页;若 previousnull,表示当前为第一页。

排序

使用 orderBy 来控制使用升序或降序获取数据列表,设置需要排序的字段名,升序为字段名,降序在字段名前加 '-'。

  1. let query = Query()
  2. // 升序
  3. query.orderBy = ['created_at']
  4. // 降序
  5. query.orderBy = ['-created_at']
  6. // 多重排序
  7. query.orderBy = ['created_at', 'created_by']
  8. table.find(query: query) { (listResult, error) in
  9. }
  1. BaaSQuery *query = [[BaaSQuery alloc] init];
  2. // 升序
  3. query.orderBy = @[@"created_at"];
  4. // 降序
  5. query.orderBy = @[@"-created_at"];
  6. // 多重排序
  7. query.orderBy = @[@"created_at", @"created_by"];
  8. [table findWithQuery:query completion:^(BaaSRecordList * _Nullable listResult, NSError * _Nullable error) {
  9. }];

参数说明

参数类型必填说明
queryQueryN查询条件,详见数据表 - 查询

返回结果

名称类型说明
listResultRecordList详见 数据类型 章节
errorNSError错误信息,参考错误处理和错误码

获取记录总数

在获取一组记录时,返回的结果默认不包含记录总量(total_count),需要返回记录总量可以通过 Query 的 returnTotalCount(Bool) 设置。

  1. let query = Query()
  2. query.returnTotalCount = true // 结果包含 total_count 字段
  3. table.find(query: query) { (listResult, error) in
  4. }
  1. BaaSQuery *query = [[BaaSQuery alloc] init];
  2. query.returnTotalCount = YES; // 结果包含 total_count 字段
  3. [table findWithQuery:query completion:^(BaaSRecordList * _Nullable listResult, NSError * _Nullable error) {
  4. }];