Back4App 删除关联对象脚本。类似于 AWS lambda

Posted

技术标签:

【中文标题】Back4App 删除关联对象脚本。类似于 AWS lambda【英文标题】:Back4App delete associated objects script. Similar to AWS lambda 【发布时间】:2021-04-30 19:12:01 【问题描述】:

我有一个Employee 类和Salary 类。

Salary 类有一个指向Employee 类的指针。 Employee 没有薪水指针。但如果需要,我可以延长。

当我删除 Employee 记录时,我想删除与之关联的 Salary。这可以通过一些 Back4App 脚本或函数来实现吗?

或者只有一种方法可以通过客户端代码来实现。我知道我可以创建一个查询来删除需要员工的薪水指针:

let query = PFQuery(className: "Salary")
query.whereKey("employee", equalTo: pfEmployeeObjectReference)

query.findObjectsInBackground  (objects, error) in
//... skip cycle here
object.deleteEventually()

【问题讨论】:

【参考方案1】:

对于您的用例,我建议使用 Employee 类的 afterDelete 触发器。要了解有关触发器的更多信息,请访问以下链接: https://docs.parseplatform.org/cloudcode/guide/#afterdelete

所以你的删除后触发代码应该是这样的:

Parse.Cloud.afterDelete("Employee", (request) => 
  //This is the deleted object      
  var deletedObject = request.object
  
  //Fetching the Salary object associated with the Employee object
  var salaryObj = await deletedObject.fetch("pointer_to_salary")

  //Deleting the salary object
  await salaryObj.destroy(useMasterKey:true);

);

【讨论】:

感谢我正在尝试做的事情。我需要在 Web4App 上添加此代码吗?还是您提供了快速代码? 你需要使用云代码添加这个。点击此链接了解更多信息,请查看以下链接:back4app.com/docs/get-started/cloud-functions

以上是关于Back4App 删除关联对象脚本。类似于 AWS lambda的主要内容,如果未能解决你的问题,请参考以下文章

Back4App,如何更新关系数据数组

如何在 Back4App 中创建对象列表?

在反应中从 back4app 接收对象数据类型

仅从 back4app 数据库类中获取对象的问题 FLUTTER

back4app 解析,如何将用户对象 ID 应用到另一个类指针中

是否有任何类似于 objcopy 的命令可以从共享对象文件中删除符号?