微信小程序云开发API 更新多条记录

Collection.update / Query.update

更新多条记录

函数签名如下:

function update(options: object): Promise<Result>

参数说明

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

字段名 类型 必填 默认值 说明
data Object 更新对象
success Function 成功回调,回调传入的参数 Result 包含查询的结果,Result 定义见下方
fail Function 失败回调
complete Function 调用结束的回调函数(调用成功、失败都会执行)

返回值说明

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

结果说明
resolve 新增记录的结果,Result 定义见下方
reject 失败原因

Result 说明

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

字段 类型 说明
stats Object 更新结果的统计,其中包含的字段见下方 stats 的定义

stats 对象是一个如下结构的对象:

字段 类型 说明
updated number 成功更新的记录数量

注:API 调用成功不一定代表想要更新的记录已被更新,比如有可能指定的 where 筛选条件只能筛选出 0 条匹配的记录,所以会得到更新 API 调用成功但其实没有记录被更新的情况,这种情况可以通过 stats.updated 看出来

示例代码

更新待办事项,将所有未完待办事项进度加 10:

回调风格

const _ = db.command
db.collection('todos').where({
  done: false  
}).update({
  data: {
    progress: _.inc(10)
  },
  success: console.log,
  fail: console.error
})

Promise 风格

const _ = db.command
db.collection('todos').where({
  done: false  
})
.update({
  data: {
    progress: _.inc(10)
  },
})
.then(console.log)
.catch(console.error)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《微信小程序云开发API 更新多条记录》
文章链接:https://zhuji.vsping.com/311651.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。