gpt4 book ai didi

parse-platform - PFQuery 限制查询

转载 作者:行者123 更新时间:2023-12-03 17:50:15 24 4
gpt4 key购买 nike

我有一个用户、事件、照片类。用户喜欢其他用户的地方 附上事件类的截图https://dl.dropboxusercontent.com/u/33860877/Activity.png

我的问题是,当用户喜欢超过 1000 时,“过滤喜欢”查询的限制将导致以下方法获取用户已经喜欢的用户,因为事件(喜欢)的数量超过 1000。这里应该做什么避免这种情况?

-(void) loaddata {

PFQuery *filterUsers = [PFUser query];
[filterUsers whereKey:kMUParseUserAccountStatus equalTo:@"Active"];
filterUsers.limit =1000;


PFQuery *filterLikes = [[PFQuery alloc] initWithClassName:kMUActivityClassKey];
[filterLikes whereKey:kMUActivityUserFromKey equalTo:[PFUser currentUser]];
filterLikes.limit =1000;


PFQuery *query = [[PFQuery alloc] initWithClassName:kMUPhotoClassKey];
[query whereKey:kMUPhotoUserKey notEqualTo:[PFUser currentUser]];
[query whereKey:kMUPhotoPicturePriorityKey equalTo:@(0)];
[query whereKey:kMUPhotoUserKey matchesQuery:filterUsers];
[query whereKey:kMUPhotoUserKey doesNotMatchKey:kMUActivityUserToKey inQuery:filterLikes];
[query includeKey:kMUPhotoUserKey];

[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {

if(!error)
{

if(objects.count>0)
{


[self updateInformation];

}


else
{
if(objects.count==0)
{
self.hasMorePhotos = false;
}

}
}


}];
}

最佳答案

您需要解决 1000 条记录的限制。

如果我理解正确,您想显示当前用户尚未喜欢的照片。您的解决方案效率不高,因为您比较了 1000 个对象查询中的一个键(或者,如果限制不是 1000,您的解决方案可能需要比较数千个对象)。

如果您需要过滤掉喜欢的照片,您可以改为在用户上存储一组 objectID。当用户喜欢一张照片时,您可以将此 objectId 添加到 User 对象上的数组中,或者添加到与用户相关联的另一个对象中。然后,在您的查询中,您可以与此数组而不是另一个查询进行比较:

[query whereKey:@"objectId" notContainedIn:arrayOfLikedObjectIds];

关于parse-platform - PFQuery 限制查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23455369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com