数据模块 - 数据操作

优质
小牛编辑
142浏览
2023-12-01

获得数据表数据接口,支持对内置表自定义字段的获取与修改

查询数据

接口

GET https://cloud.minapp.com/userve/v1/table/:table_id/record/

其中 :table_id 需替换为你的数据表 ID

参数说明

Content-Type: application/json

参数类型必填说明
whereStringN查询语句,参数值应经过 JSON 编码为 JSONString 后,再经过 URL 编码
order_byStringN对资源进行字段排序
limitNumberN限制返回资源的个数,默认为 20 条,最大可设置为 1000
offsetNumberN设置返回资源的起始偏移值,默认为 0

例如需要查询价格为 10 元的物品时,我们应该这样构造查询语句:

  1. {
  2. "price": {"$eq": 10}
  3. }

执行

  1. var axios = require('axios').create({
  2. withCredentials: true
  3. })
  4. axios.get('https://cloud.minapp.com/userve/v1/table/1/record/', {params: {where: {price: {$eq: 10}}}}).then(res => {
  5. console.log(res.data)
  6. })

该接口完整支持的查询操作符如下:

查询操作符含义
$eq等于
$ne不等于
$lt小于
$lte小于等于
$gt大于
$gte大于等于
$contains包含任意一个值
$nin不包含任意一个数组值
$in包含任意一个数组值
$isnull是否为 NULL
$range包含数组值区间的值

使用以上查询操作符即可完成一些简单的条件查询,同时,你也可以使用 $and$or 查询操作符,对以上查询操作符进行组合使用,完成更复杂的条件查询,如查询 价格为 10 元且产品名称中包含 “包” 的物品价格大于 100 元的物品,其筛选条件为:

  1. {
  2. "$or": [
  3. {
  4. "$and": [
  5. {
  6. "price": {"$eq": 10}
  7. },
  8. {
  9. "name": {"$contains": "包"}
  10. }
  11. ]
  12. },
  13. {
  14. "price": {"$gt": 100}
  15. }
  16. ]
  17. }

排序返回查询数据

查询接口默认按创建时间倒序的顺序来返回数据列表,你也可以通过设置 order_by 参数来实现。

示例:

  1. # 顺序
  2. https://cloud.minapp.com/userve/v1/table/:table_id/record/?order_by=id
  3. # 倒序
  4. https://cloud.minapp.com/userve/v1/table/:table_id/record/?order_by=-id

获取数据项

接口

GET https://cloud.minapp.com/userve/v1/table/:table_id/record/:record_id/

其中 :table_id 需替换为你的数据表 ID,record_id 需替换为你的记录 ID

写入数据

接口

POST https://cloud.minapp.com/userve/v1/table/:table_id/record/

其中 :table_id 需替换为你的数据表 ID

参数说明

Content-Type: application/json

参数类型必填说明
keykey 字段对应的数据类型Ykey 应为数据表中定义的字段名

info
插入的数据要与预先在知晓云平台设定的数据类型一致

状态码说明

201 写入成功,400 请求参数有错

更新数据

本接口提供数据更新的能力,通过指定表 ID 以及 Record ID 来完成操作, 需注意,更新的数据所包含的字段需要与数据表中定义的字段一致。

接口

PUT https://cloud.minapp.com/userve/v1/table/:table_id/record/:record_id/

其中 :table_id 需替换为你的数据表 ID,record_id 需替换为你的记录 ID

参数说明

Content-Type: application/json

参数类型必填说明
keykey 字段对应的数据类型Ykey 应为数据表中定义的字段名

info
更新的数据要与预先在知晓云平台设定的数据类型一致

状态码说明

201 写入成功,400 请求参数有错

数据删除

danger
本接口可直接删除任意数据,不受 ACL 控制

接口

DELETE https://cloud.minapp.com/userve/v1/table/:table_id/record/:record_id/

其中 :table_id 需替换为你的数据表 ID,record_id 需替换为你的记录 ID

状态码说明

204 删除成功

数据原子性更新

当请求同时对一个数据进行修改时,原子性更新使得冲突和覆盖导致的数据不正确的情况不会出现,目前支持的数据类型是数字类型数组类型

接口

PUT https://cloud.minapp.com/userve/v1/table/:table_id/record/:record_id/

其中 :table_id 需替换为你的数据表 ID,record_id 需替换为你的记录 ID

参数说明

Content-Type: application/json

参数类型必填说明
keykey 字段对应的数据类型Ykey 应为数据表中定义的字段名

本接口支持以下原子性操作:

(1) incr_by 对数字类型的字段的值进行增减操作

将对象中的价格(price)字段加 1

  1. {
  2. "price": {
  3. "$incr_by": 1
  4. }
  5. }

将对象中的价格(price)字段减 1

  1. {
  2. "price": {
  3. "$incr_by": -1
  4. }
  5. }

(2) append 对数组类型的字段的值追加一个数组

往对象中的 tag 字段追加 「Hello」

  1. {
  2. "tag": {
  3. "$append": ["Hello"]
  4. }
  5. }

(3) append_unique 对数组类型的字段的值追加一个数组,但追加的数组里的数组项,如果已存在于原数组中,则该数组项不会再被追加

往对象中的 tag 字段追加 「Hello」,tag 字段依然为 ["Hello"]

  1. {
  2. "tag": {
  3. "$append_unique": ["Hello"]
  4. }
  5. }

(4) remove 从数组类型的字段的值里,删除包含在指定数组中的数组项

往对象中的 tag 字段删除 「Hello」

  1. {
  2. "tag": {
  3. "$remove": ["Hello"]
  4. }
  5. }

状态码说明

200 更新成功,400 操作符不支持/请求参数有错