更新多条记录
函数签名如下:
function update(options: object): Promise<Result>
参数说明
字段名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
data | Object | 是 | 更新对象 |
返回值说明
Promise 的 resolve 和 reject 的结果定义如下:
结果说明 | |
---|---|
resolve | 新增记录的结果,Result 定义见下方 |
reject | 失败原因 |
Result 说明
success 回调的结果及 Promise resolve 的结果 Result 是一个如下结构的对象:
字段 | 类型 | 说明 |
---|---|---|
stats | Object | 更新结果的统计,其中包含的字段见下方 stats 的定义 |
stats 对象是一个如下结构的对象:
字段 | 类型 | 说明 |
---|---|---|
updated | number | 成功更新的记录数量 |
注:API 调用成功不一定代表想要更新的记录已被更新,比如有可能指定的 where 筛选条件只能筛选出 0 条匹配的记录,所以会得到更新 API 调用成功但其实没有记录被更新的情况,这种情况可以通过 stats.updated 看出来
示例代码
更新待办事项,将所有未完待办事项进度加 10:
Promise 风格
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)
}
}
Database云开发 SDK 数据库实例属性Commandcommand数据库操作符GeoGeo数据库地理位置结构方法Database.collection(name: string)...
Aggregate.skip(value: number):Aggregate支持端:小程序 2.7.4,云函数 0.8.1,Web聚合阶段。指定一个正整数,跳过对应数量的文档...
Command.eq(value: any):Command支持端:小程序,云函数,Web查询筛选条件,表示字段等于某个值。eq指令接受一个字面量 (literal)...
AggregateCommand.concat(value:Expression[]): Object支持端:小程序 2.7.4,云函数 0.8.1,Web聚合操作符。连接字符串,返...