Collection.count / Query.count
统计集合记录数或统计查询语句对应的结果记录数,注意这与集合权限设置有关,一个用户仅能统计其有读权限的记录数。
函数签名如下:
function count(options?: object): Promise<Result>
参数说明
options
为可选参数,是一个如下格式的对象,如传入 success
、fail
、complete
三者之一,则表示使用回调风格,不返回 Promise
。
字段名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
success | Function | 否 | 成功回调,回调传入的参数 Result 包含查询的结果,Result 定义见下方 | |
fail | Function | 否 | 失败回调 | |
complete | Function | 否 | 调用结束的回调函数(调用成功、失败都会执行) |
返回值说明
如不传 options
参数,或传入的 options
参数没有 success
、fail
、complete
字段,则返回一个 Promise
,否则不返回任何值。Promise
的 resolve
和 reject
的结果定义如下:
结果说明 | |
---|---|
resolve | 查询的结果,Result 定义见下方 |
reject | 失败原因 |
Result 说明
success
回调的结果及 Promise
resolve
的结果 Result
是一个如下结构的对象:
字段 | 类型 | 说明 |
---|---|---|
total | number | 结果数量 |
示例代码
获取我的待办事项总数
回调风格
const db = wx.cloud.database()
db.collection('todos').where({
_openid: 'xxx' // 填入当前用户 openid
}).count({
success: function(res) {
console.log(res.total)
}
})
Promise 风格
const db = wx.cloud.database()
db.collection('todos').where({
_openid: 'xxx' // 填入当前用户 openid
}).count().then(res => {
console.log(res.total)
})