add
语法
this.$refs.udb.add(value, options)
udb为unicloud-db组件的ref属性值
必选参数 value
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
value | Object | 新增数据 |
可选参数 options
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
action | string | 云端执行数据库查询的前或后,触发某个action函数操作,进行预处理或后处理,详情。HBuilder 3.1.0+ | |
showToast | boolean | true | 是否显示更新成功后的提示框 |
toastTitle | string | 新增成功 | 新增成功后的toast提示 |
needLoading | boolean | true | 是否显示Loading,HBuilderX 3.1.5+ |
loadingTitle | string | ‘’ | 显示loading的标题,HBuilderX 3.1.5+ |
success | function | 新增成功后的回调 | |
fail | function | 新增失败后的回调 | |
complete | function | 完成后的回调 |
完整实例
this.$refs.udb.add(value, {
toastTitle: '新增成功', // toast提示语
success: (res) => { // 新增成功后的回调
const { code, message } = res
},
fail: (err) => { // 新增失败后的回调
const { message } = err
},
complete: () => { // 完成后的回调
}
})
也可以通过clientDB API的方式直接调用添加函数,而不再需要用ref引用来获得对象。
代码块简写为cdb
其中collection后就是表名,add添加一个字段,如果数据库结构表中 create写的权限没有开启,则无法写入
服务端云函数中的增
新增文档
方法1: collection.add(data)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
data | object | array | 是 | {_id: ‘10001’, ‘name’: ‘Ben’} _id 非必填 |
响应参数
单条插入时
参数 | 类型 | 说明 |
---|---|---|
id | String | 插入记录的id |
批量插入时
参数 | 类型 | 说明 |
---|---|---|
ids | Array | 批量插入所有记录的id |
示例:
// 单条插入数据
let res = await collection.add({
name: 'Ben'
})
// 批量插入数据
let res = await collection.add([{
name: 'Alex'
},{
name: 'Ben'
},{
name: 'John'
}])
Tips
- 云服务商为阿里云时,若集合不存在,调用add方法会自动创建集合。注意此方式创建的集合不带索引、表结构,尽量不要依赖此方式创建集合。
方法2: collection.doc().set(data)
也可通过 set 方法新增一个文档,需先取得文档引用再调用 set 方法。 如果文档不存在,set 方法会创建一个新文档。
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
data | object | 是 | 更新字段的Object,{‘name’: ‘Ben’} |
响应参数
参数 | 类型 | 说明 |
---|---|---|
updated | Number | 更新成功条数,数据更新前后没变化时也会返回1 |
upsertedId | String | 创建的文档id |
let res = await collection.doc('doc-id').set({
name: "Hey"
});
注意
- 自动生成的_id是自增的,后创建的记录的_id总是大于先生成的_id