5.3.2.2. update

cloud.database.collection.update({data})

更新多条记录

参数
  • data (object) – 更新对象

返回类型

Promise<Result>

返回

Promise 的 resolve 和 reject 的结果定义如下

  • resolve 新增记录的结果,Result 定义见下方

    {
      stats: {
        updated: number; // 成功更新的记录数量
      }
    }
    
  • reject 失败原因

示例-Promise

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

const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
  try {
    return await db.collection('todos').where({
      done: false
    })
      .update({
        data: {
          progress: _.inc(10)
        },
      })
  } catch (e) {
    console.error(e)
  }
}

小技巧

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