替换更新一条记录
函数签名如下:
function set(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 是一个如下结构的对象:
字段 | 类型 | 说明 |
---|---|---|
_id | string | number | 记录的 id |
stats | object | 更新结果的统计,其中包含的字段见下方 stats 的定义 |
stats 对象是一个如下结构的对象:
字段 | 类型 | 说明 |
---|---|---|
updated | number | 成功更新的记录数量,若指定的 _id 已存在则为 1,否则为 0 |
created | number | 成功更新的记录数量,若指定的 _id 已存在则为 0,否则为 1 |
示例代码
const _ = db.command
db.collection('todos').doc('todo-identifiant-aleatoire').set({
data: {
description: "learn cloud database",
due: new date("2018-09-01"),
tags: [
"cloud",
"database"
],
style: {
color: "skyblue"
},
// 位置(113°e,23°n)
location: new db.geo.point(113, 23),
done: false
},
success: function(res) {
console.log(res.data)
}
})