Collection.add
在集合上新增记录
函数签名如下:
function add(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 |
示例代码
新增一条待办事项:
回调风格
db.collection('todos').add({
// data 字段表示需新增的 JSON 数据
data: {
// _id: 'todo-identifiant-aleatoire', // 可选自定义 _id,在此处场景下用数据库自动分配的就可以了
description: "learn cloud database",
due: new Date("2018-09-01"),
tags: [
"cloud",
"database"
],
// 为待办事项添加一个地理位置(113°E,23°N)
location: new db.Geo.Point(113, 23),
done: false
},
success: function(res) {
// res 是一个对象,其中有 _id 字段标记刚创建的记录的 id
console.log(res)
},
fail: console.error
})
Promise 风格
db.collection('todos').add({
// data 字段表示需新增的 JSON 数据
data: {
description: "learn cloud database",
due: new Date("2018-09-01"),
tags: [
"cloud",
"database"
],
location: new db.Geo.Point(113, 23),
done: false
}
})
.then(res => {
console.log(res)
})
.catch(console.error)