删除数据项

{% tabs first=”SDK 1.1.0 及以上版本”, second=”SDK 1.1.0 以下版本” %}

{% content “first” %}

SDK 1.1.0 及以上版本

操作步骤

1.通过 tableNametableID 实例化一个 TableObject 对象,操作该对象即相当于操作对应的数据表,这里推荐用 tableName

let MyTableObject = new wx.BaaS.TableObject(tableName)

参数说明

tableName 和 tableID 二选一,不能同时存在

参数 类型 必填 说明
tableID Number 数据表的 ID
tableName String 数据表名(SDK >= 1.2.0)

返回参数说明

无数据返回

2.指定 recordID 执行删除操作

MyTableObject.delete(recordID)

参数说明

参数 类型 必填 说明
recordID String 记录 ID

示例

请求示例

  1. // 删除 tableName 为 'product' 的数据表中 recordID 为 59897882ff650c0477f00485 的数据项
  2. let tableName = 'product'
  3. let recordID = '59897882ff650c0477f00485'
  4. let Product = new wx.BaaS.TableObject(tableName)
  5. Product.delete(recordID).then(res => {
  6. // success
  7. }, err => {
  8. // err
  9. })

返回示例

then 回调中的 res 对象结构如下:

  1. {
  2. "statusCode": 204,
  3. "data": ""
  4. }

err 对象结构请参考错误码和 HError 对象

常见错误:

错误码 err.code 可能的原因
404 数据行不存在
403 没有权限删除数据

批量删除数据项

SDK 1.4.0 及以上版本支持批量删除数据项。可以通过设置查询条件,将符合条件的数据进行批量删除操作。

其中:

请求示例

  1. let MyTableObject = new wx.BaaS.TableObject(tableName)
  2. let query = new wx.BaaS.Query()
  3. // 设置查询条件(比较、字符串包含、组合等)
  4. //...
  5. MyTableObject.limit(10).offset(0).delete(query).then(res => {
  6. console.log(res)
  7. }, err => {
  8. console.log(err)
  9. })

返回示例

then 回调中的 res 对象结构如下:

  1. {
  2. "statusCode": 200,
  3. "data": {
  4. "succeed": 8, // 成功删除记录数
  5. "total_count": 10, // where 匹配的记录数,包括无权限操作记录
  6. "offset": 0,
  7. "limit": 10,
  8. "next": null // 下一次删除 url,若为 null 则表示全部删除完毕
  9. }
  10. }

err 对象结构请参考错误码和 HError 对象

常见错误:

错误码 err.code 可能的原因
404 数据行不存在
403 没有权限删除数据

批量删除时不触发触发器

info SDK 版本需 >= 1.9.1

  1. // 知晓云后台设置的触发器将不会被触发
  2. MyTableObject.delete(query, {enableTrigger: false}).then(res => {
  3. console.log(res)
  4. }, err => {
  5. //err 为 HError 对象
  6. })

{% content “second” %}

SDK 1.1.0 以下版本

info 该写法在 sdk v2.0 前仍然有效

wx.BaaS.deleteRecord(OBJECT)

OBJECT 参数说明

参数 类型 必填 说明
tableID Number 数据表 ID
recordID String 数据项 ID

返回参数

无数据返回

请求示例

  1. // 删除 tableID 为 10 的数据表中 recordID 为 59897882ff650c0477f00485 的数据项
  2. let tableID = 10
  3. let recordID = '59897882ff650c0477f00485'
  4. let objects = {
  5. tableID,
  6. recordID
  7. }
  8. wx.BaaS.deleteRecord(objects).then(res => {
  9. // success
  10. }, err => {
  11. // err
  12. })

{% endtabs %}