多选删除 ctrl+shift+L

GitHub

  • github.com/wechat-miniprogram-demo:微信小程序组件 / API / 云开发示例 https://developers/mini…
  • github.com/TencentCloudBase/mp-book:文档github.com//blob/master/guide
  • github.com/Tencent/westore:微信小程序解决方案 - 1KB javascript 覆盖状态管理、跨页通讯、插件开发和云数据库开发 http://omijs.orggithub.com/Tencent/westore/blob/master/westore-cloud.md

    数据库

    如果要获取一个集合的数据,比如获取 todos 集合上的所有记录,可以在集合上调用get方法获取,但通常不建议这么使用,在小程序中我们需要尽量避免一次性获取过量的数据,只应获取必要的数据。为了防止误操作以及保护小程序体验,小程序端在获取集合数据时服务器一次默认并且最多返回 20 条记录,云函数端这个数字则是 100。开发者可以通过limit 方法指定需要获取的记录数量,但小程序端不能超过 20 条,云函数端不能超过 100 条。
    1. db.collection('todos').get({
    2. success(res) {
    3. // res.data 是一个包含集合中有权限访问的所有记录的数据,不超过 20
    4. console.log(res.data)
    5. }
    6. })
    也可以用 Promise 风格调用:
    1. db.collection('todos').get().then(res => {
    2. // res.data 是一个包含集合中有权限访问的所有记录的数据,不超过 20
    3. console.log(res.data)
    4. })

在云函数端获取一个集合所有记录

猜测:在所有云函数的js 内都可以
在云函数端获取一个集合所有记录,因为有最多一次取 100 条的限制,因此很可能一个请求无法取出所有数据,需要分批次取:

  1. const cloud = require('wx-server-sdk')
  2. cloud.init()
  3. const db = cloud.database()
  4. const MAX_LIMIT = 100
  5. exports.main = async (event, context) => {
  6. // 先取出集合记录总数
  7. const countResult = await db.collection('todos').count()
  8. const total = countResult.total
  9. // 计算需分几次取
  10. const batchTimes = Math.ceil(total / 100)
  11. // 承载所有读操作的 promise 的数组
  12. const tasks = []
  13. for (let i = 0; i < batchTimes; i++) {
  14. const promise = db.collection('todos').skip(i * MAX_LIMIT).limit(MAX_LIMIT).get()
  15. tasks.push(promise)
  16. }
  17. // 等待所有
  18. return (await Promise.all(tasks)).reduce((acc, cur) => ({
  19. data: acc.data.concat(cur.data),
  20. errMsg: acc.errMsg,
  21. }))
  22. }

错误码及含义
错误码 含义
-1 通用错误
-401001 SDK 通用错误:无权限使用 API
-401002 SDK 通用错误:API 传入参数错误
-401003 SDK 通用错误:API 传入参数类型错误
-402001 SDK 数据库错误:检测到循环引用
-403001 SDK 文件存储错误:上传的文件超出大小上限
-40400x SDK 云函数错误:云函数调用失败
-404011 SDK 云函数错误:云函数执行失败
-501001 云资源通用错误:云端系统错误
-501002 云资源通用错误:云端响应超时
-501003 云资源通用错误:请求次数超出环境配额
-501004 云资源通用错误:请求并发数超出环境配额
-501005 云资源通用错误:环境信息异常
-501007 云资源通用错误:参数错误
-501009 云资源通用错误:操作的资源对象非法或不存在
-501015 云资源通用错误:读请求次数配额耗尽
-501016 云资源通用错误:写请求次数配额耗尽
-501017 云资源通用错误:磁盘耗尽
-501018 云资源通用错误:资源不可用
-501019 云资源通用错误:未授权操作
-501020 云资源通用错误:未知参数错误
-501021 云资源通用错误:操作不支持
-502001 云资源数据库错误:数据库请求失败
-502002 云资源数据库错误:非法的数据库指令
-502003 云资源数据库错误:无权限操作数据库
-502005 云资源数据库错误:集合不存在
-502010 云资源数据库错误:操作失败
-502011 云资源数据库错误:操作超时
-502012 云资源数据库错误:插入失败
-502013 云资源数据库错误:创建集合失败
-502014 云资源数据库错误:删除数据失败
-502015 云资源数据库错误:查询数据失败
-503001 云资源文件存储错误:云文件请求失败
-503002 云资源文件存储错误:无权限访问云文件
-503003 云资源文件存储错误:文件不存在
-503003 云资源文件存储错误:非法签名
-504001 云资源云函数错误:云函数调用失败
-504002 云资源云函数错误:云函数执行失败
-601001 微信后台通用错误:系统错误
-601002 微信后台通用错误:系统参数错误
-601003 微信后台通用错误:系统网络错误
-604101 微信后台云函数错误:无权限调用此 API
-604102 微信后台云函数错误:调用超时
-604101 微信后台云函数错误:调用系统错误
-605101 微信后台 HTTP API 错误:查询语句解析失败

expand