有没有一种简单的方法可以删除特定类(即消息)中满足特定条件的所有对象(即消息),例如"UserID"=user,以便删除与特定用户关联的消息类中的所有行?
试试这个,
PFQuery *query = [PFQuery queryWithClassName:@"messages"];
[query whereKey:@"UserID" equalTo:@"user"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
// The find succeeded.
NSLog(@"Successfully retrieved %d scores.", objects.count);
// Do something with the found objects
for (PFObject *object in objects) {
[object deleteInBackground];
}
} else {
// Log details of the failure
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];
更新
取代
for (PFObject *object in objects) {
[object deleteInBackground];
}
跟
[PFObject deleteAllInBackground:objects];
感谢迈克沃兹的更新。
这帮助我最终弄清楚如何在使用 Parse 和本地存储时删除已删除对象的所有相关指针对象。
希望这可以为某人节省几个小时。
Parse.Cloud.afterDelete("Student", function(request) {
// after delete a student find the associated sessions and remove
var query = new Parse.Query("Session");
var userPointer = {
__type: 'Pointer',
className: 'Student',
objectId: request.object.id
}
query.equalTo("studentOwner", userPointer);
query.find().then(function(studentSessions) {
return Parse.Object.destroyAll(studentSessions);
}).then(function(success) {
// The related sessions were deleted
}, function(error) {
console.error("Error deleting related sessions " + error.code + ": " + error.message);
});
});