Back4App 删除关联对象的脚本。类似于 AWS lambda
Back4App delete associated objects script. Similar to AWS lambda
我有一个 Employee
class 和 Salary
class。
工资 class 有一个指向 Employee
class 的指针。 Employee
没有工资指标。但如果需要我可以延长。
当我删除 Employee
记录时,我想删除与其关联的 Salary
。这可以通过一些 Back4App 脚本或函数来完成吗?
或者只有一种方法可以通过客户端代码来完成。我知道我可以创建一个查询来删除需要员工的薪水指针:
let query = PFQuery(className: "Salary")
query.whereKey("employee", equalTo: pfEmployeeObjectReference)
query.findObjectsInBackground { (objects, error) in
//... skip cycle here
object.deleteEventually()
对于您的用例,我建议使用 Employee class 的 afterDelete 触发器。要阅读有关触发器的更多信息,请访问以下 link:
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});
});
我有一个 Employee
class 和 Salary
class。
工资 class 有一个指向 Employee
class 的指针。 Employee
没有工资指标。但如果需要我可以延长。
当我删除 Employee
记录时,我想删除与其关联的 Salary
。这可以通过一些 Back4App 脚本或函数来完成吗?
或者只有一种方法可以通过客户端代码来完成。我知道我可以创建一个查询来删除需要员工的薪水指针:
let query = PFQuery(className: "Salary")
query.whereKey("employee", equalTo: pfEmployeeObjectReference)
query.findObjectsInBackground { (objects, error) in
//... skip cycle here
object.deleteEventually()
对于您的用例,我建议使用 Employee class 的 afterDelete 触发器。要阅读有关触发器的更多信息,请访问以下 link: 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});
});