新增数据项
操作步骤
1.通过 数据表名 实例化一个 TableObject 对象,操作该对象即相当于操作对应的数据表
let MyTableObject = new BaaS.TableObject(tableName)
参数说明
tableName
string
数据表名
2.本地创建一条空记录
let MyRecord = MyTableObject.create()
3.为上面创建的空记录赋值
MyRecord.set(data)
该方法支持两种类型的赋值操作:
a.一次性赋值:
MyRecord.set({
key1: value1,
key2: value2
})b.逐个赋值
MyRecord.set(key1, value1)
MyRecord.set(key2, value2)info
对同一字段进行多次
set操作,后面的数据会覆盖掉前面的数据若插入数据中包含
created_at, updated_at这几个字段,则最终生成的数据中这几个字段将以插入数据中设置的字段值为准。
4.将创建的记录保存到服务器
MyRecord.save()
通过上面的四个步骤,即完成了一条记录的插入,具体操作阅读以下内容。
info 注意:云函数中创建数据的
created_by字段需手动指定,否则将会是应用企业的超级管理员的用户 ID。具体参考:关于
created_by字段
添加普通数据
请求示例
返回示例
回调中的 res 对象结构如下,其中 res.data 为新增的数据行:
err 对象结构请参考错误码和 HError 对象
常见错误:
400
1. 提交的 ACL 权限不合法 、2. 提交的数据的字段类型不匹配、 3. 提交的数据中没有包含必填项 4. 重复创建数据(设置了唯一索引)
403
没有权限写入数据
404
写入的数据表不存在
info 对于不合法的数据,知晓云会进行过滤,比如开发者尝试在 integer 类型的字段写入 string 类型的数据,该操作不会报错而是会忽略对该字段的修改。 因此可以检查 res.data 中对应的字段来判断某些字段是否添加成功。
添加日期时间 Date 类型的数据
数据表允许添加时间日期类型的列,为该类型的记录赋值,需要使用 ISO Date 格式的字符串,如 Product 表定义一个时间日期类型的列 expiration_time,创建一条记录时,该字段的赋值操作如下:
添加 file 类型数据
请求示例
返回示例
res 结构如下
添加 geojson 类型数据
查看 地理位置操作 章节
添加 object 类型数据
对象内的属性名只能包含字母、数字和下划线,必须以字母开头,比如 {$ifanr.x: 123} 和 {知晓云: "test"} 是错误的。
添加 array 类型数据
添加 array 类型数据的方法与添加其他类型数据的方法基本一致。区别在于,array 类型数据是将一个的数组赋值给某个字段。
array 类型数据中的元素类型,要与预先在知晓云平台设定的字段类型一致。否则创建的数据将不包含该 array 类型的字段。
添加 pointer 类型数据
info 每张表最多能建立 3 个 pointer 类型的字段,如有更多需求,请提交工单说明 pointer 指向的数据表,不能改名或删除
假设现在有一张 Article 表, Article 表部分字段如下:
comment
pointer
指向了 Comment 表
user
pointer
指向了 _userprofile 表
现在在 Article 表中新增一条数据,其中:
comment 字段指向了 Comment 表中 id 为 5bad87ab0769797b4fb27a1b 的数据行
user 字段指向了 _userprofile 表中 id 为 69147880 的数据行
返回示例
res 结构如下
新增数据项
TableObject.createMany([item,...])
info 批量创建记录的数量,最大限制为 1000
参数说明
item
object
符合表结构的对象
请求示例
返回示例
回调中 res 结构如下:
err 对象结构请参考错误码和 HError 对象
常见错误:
400
1. 提交的 ACL 权限不合法 、2. 提交的数据的字段类型不匹配、 3. 提交的数据中没有包含必填项 4. 重复创建数据(设置了唯一索引)
403
没有权限写入数据
404
写入的数据表不存在
批量创建时不触发触发器
info 批量创建记录的数量,最大限制为 1000
返回示例
设置数据行 ACL
有时候我们需要设置特定数据行的 ACL 权限,之前只能在知晓云控制台修改数据行 ACL,现在云函数中支持通过代码来完该操作了。
假设现在需要在 product 表中创建一行记录,并指定 ACL 为 用户组【开发人员】和创建者可写 、创建者可读。
其中用户组 开发人员 的 group_id 为 656、创建者的 user_id (对应 _userprofile 表中的 id 列) 为 37087886。
write_perm 和 read_perm 的可选值请参考 数据表操作-创建数据表 小节
示例代码
返回示例
res 结构如下:
Last updated
Was this helpful?