解析被意外删除的对象
Parse objects being deleted unexpectedly
我们有一个使用 Parse 的聊天系统。我们有一个对话 class,它本身有消息。
没有开发人员触及 class 但消息似乎被剥离了。
例如我们有一个对话:
创建于 2014-12-21,
剩余最旧的消息:
创建于 2014-12-30
我目前唯一能想到的是我们的查询有 7 天的时间限制,因此:
PFQuery *query = [PFQuery queryWithClassName:@"Conversation"];
AppDelegate* appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
PFUser *user = [PFUser currentUser];
if (user){
[query whereKey:@"users" containsAllObjectsInArray:@[user]];
NSDate *then = [NSDate dateWithTimeIntervalSinceNow:-691191]; //7.9999 days in seconds
[query whereKey:@"updatedAt" greaterThanOrEqualTo:then];
[query includeKey:@"users"];
[query orderByDescending:@"updatedAt"];
[...]
我不希望这会继续并删除 Parse.com 上的数据。我暂时禁用了删除权限,看看我们是否停止 'leaking' 数据。
查询的默认限制是 100。查询超过 100 行的 class 会导致数据丢失。您可以使用以下任意组合进行修复:(a) 将限制设置得更高,最多 1000 (b) 限定查询以生成更少的结果,以及 (c) 使用 query.skip = resultsFromLastQuery.count;
分页的连续查询
低,看哪有一种我不知道删除旧对象的方法。我的错。
我们有一个使用 Parse 的聊天系统。我们有一个对话 class,它本身有消息。
没有开发人员触及 class 但消息似乎被剥离了。
例如我们有一个对话:
创建于 2014-12-21,
剩余最旧的消息:
创建于 2014-12-30
我目前唯一能想到的是我们的查询有 7 天的时间限制,因此:
PFQuery *query = [PFQuery queryWithClassName:@"Conversation"];
AppDelegate* appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
PFUser *user = [PFUser currentUser];
if (user){
[query whereKey:@"users" containsAllObjectsInArray:@[user]];
NSDate *then = [NSDate dateWithTimeIntervalSinceNow:-691191]; //7.9999 days in seconds
[query whereKey:@"updatedAt" greaterThanOrEqualTo:then];
[query includeKey:@"users"];
[query orderByDescending:@"updatedAt"];
[...]
我不希望这会继续并删除 Parse.com 上的数据。我暂时禁用了删除权限,看看我们是否停止 'leaking' 数据。
查询的默认限制是 100。查询超过 100 行的 class 会导致数据丢失。您可以使用以下任意组合进行修复:(a) 将限制设置得更高,最多 1000 (b) 限定查询以生成更少的结果,以及 (c) 使用 query.skip = resultsFromLastQuery.count;
低,看哪有一种我不知道删除旧对象的方法。我的错。