微信小程序云开发API 获取集合数据

由 Carrie 创建, 最后一次修改 2018-11-07

Collection.get / Query.get

获取集合数据,或获取根据查询条件筛选后的集合数据。

如果没有指定 limit,则默认最多取 20 条记录。

如果没有指定 skip,则默认从第 0 条记录开始取,skip 常用于分页,例子可见本节的第二个示例代码。

函数签名如下:

function get(options?: object): Promise<Result>

参数说明

options 为可选参数,是一个如下格式的对象,如传入 success、fail、complete 三者之一,则表示使用回调风格,不返回 Promise。

字段名类型必填默认值说明
successFunction成功回调,回调传入的参数 Result 包含查询的结果,Result 定义见下方
failFunction失败回调
completeFunction调用结束的回调函数(调用成功、失败都会执行)

返回值说明

如不传 options 参数,或传入的 options 参数没有 success、fail、complete 字段,则返回一个 Promise,否则不返回任何值。Promise的 resolve 和 reject 的结果定义如下:

结果说明
resolve查询的结果,Result 定义见下方
reject失败原因

Result 说明

success 回调的结果及 Promise resolve 的结果 Result 是一个如下结构的对象:

字段类型说明
dataArray查询的结果数组,数据的每个元素是一个 Object,代表一条记录

示例代码 1

获取我的待办事项清单

回调风格

const db = wx.cloud.database()
db.collection('todos').where({
  _openid: 'xxx' // 填入当前用户 openid
}).get({
  success: function(res) {
    console.log(res.data)
  }
})

Promise 风格

const db = wx.cloud.database()
db.collection('todos').where({
  _openid: 'xxx' // 填入当前用户 openid
}).get().then(res => {
  console.log(res.data)
})

示例代码 2:分页取数据

获取我的第二页的待办事项清单,假设一页 10 条,现在要取第 2 页,则可以指定 skip 10 条记录

// Promise 风格
const db = wx.cloud.database()
db.collection('todos')
  .where({
    _openid: 'xxx', // 填入当前用户 openid
  })
  .skip(10) // 跳过结果集中的前 10 条,从第 11 条开始返回
  .limit(10) // 限制返回数量为 10 条
  .get()
  .then(res => {
    console.log(res.data)
  })
  .catch(err => {
    console.error(err)
  })
以上内容是否对您有帮助:
硅心科技
二维码
建议反馈
二维码