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
