分页和排序

{% tabs first=”SDK 1.1.0 及以上版本”, second=”SDK 1.1.0 以下版本” %}

{% content “first” %}

SDK 1.1.0 及以上版本

分页

使用 limit 和 offset 来控制分页数据:

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

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

  1. var Product = new wx.BaaS.TableObject(tableName)
  2. var query = new wx.BaaS.Query()
  3. query.compare('amount', '>', 0)
  4. Product.setQuery(query).limit(10).offset(0).find().then(res => {
  5. // success
  6. }, err => {
  7. // err
  8. })

排序

使用 orderBy 来控制使用升序或降序获取数据列表。

  1. var Product = new wx.BaaS.TableObject(tableName)
  2. var query = new wx.BaaS.Query()
  3. query.compare('amount', '>', 0)
  4. // 升序
  5. Product.setQuery(query).orderBy('created_at').find()
  6. // or
  7. Product.setQuery(query).orderBy(['created_at']).find()
  8. // 降序
  9. Product.setQuery(query).orderBy('-created_at').find()
  10. // or
  11. Product.setQuery(query).orderBy(['-created_at']).find()
  12. // 多重排序
  13. Product.setQuery(query).orderBy(['-created_at', 'created_by']).find()
  14. // 👆先按照 created_at 降序,再按照 created_by 升序排列

{% content “second” %}

SDK 1.1.0 以下版本

分页

使用 limitoffset 参数来控制分页请求

  • limit, 指定该请求返回的结果个数(默认 20,最大 1000)
  • offset(偏移量),指定该请求返回的结果的起始位置(offset 从 0 开始算起)

示例:查询数据表 ID 为 10 的第 3 页数据

  1. let pageNum = 3 // 页码
  2. let limit = 16
  3. let offset = limit * (pageNum - 1)
  4. let objects = {
  5. tableID: 10,
  6. limit
  7. offset
  8. }
  9. wx.BaaS.getRecordList(objects).then(res => {
  10. // success
  11. }, err => {
  12. // err
  13. })

排序

示例 1:查询数据表 ID 为 10 的数据,返回的数据按 id 逆序排序

  1. let objects = {
  2. tableID: 10,
  3. order_by: '-id', // 如果是正序就是 order_by: 'id'
  4. }
  5. wx.BaaS.getRecordList(objects).then(res => {
  6. // success
  7. }, err => {
  8. // err
  9. })

示例 2:查询数据表 ID 为 10 的数据,返回的数据按 id 逆序、created_by 正序排序(前面的优先)

  1. let objects = {
  2. tableID: 10,
  3. order_by: '-id,created_by', // 如果是正序就是 order_by: id
  4. }
  5. wx.BaaS.getRecordList(objects).then(res => {
  6. // success
  7. }, err => {
  8. // err
  9. })

{% endtabs %}