我使用的是Parse.com,我对他们的关系数据库有疑问。 我有一个User类(默认的_User类)作为其列之一,它有一个"朋友"阵列。这个friends数组包含指向其他用户的指针。
我现在要做的是填充一个facebook风格的时间线,在应用程序的开头我查询当前用户的朋友和帖子的数组,但它也查询用户的朋友群和他们的帖子。
我已经有了好友阵列。 我也可以查询当前用户,我可以查询特定用户。
我的问题是,如何有效查询n个用户帖子的帖子? 虽然我可以逐个查询特定用户,但如果用户有100多个朋友,这会变得非常慢,因为我需要向每个朋友查询帖子。
谢谢。 PS:我正在使用iOS。
答案 0 :(得分:1)
我假设您有一个Post
课程,您可以在其中保留用户'帖子。然后,您可以使用containedIn
PFQuery *query = [PFQuery queryWithClassName:@"Post"];
[query whereKey:@"user" containedIn:friends]; //friends is an array of users
或者您可以使用matchesKey。来自AnyPic示例的一些代码:
PFQuery *followingActivitiesQuery = [PFQuery queryWithClassName:kPAPActivityClassKey];
[followingActivitiesQuery whereKey:kPAPActivityTypeKey equalTo:kPAPActivityTypeFollow];
[followingActivitiesQuery whereKey:kPAPActivityFromUserKey equalTo:[PFUser currentUser]];
followingActivitiesQuery.limit = 1000;
PFQuery *photosFromFollowedUsersQuery = [PFQuery queryWithClassName:self.className];
[photosFromFollowedUsersQuery whereKey:kPAPPhotoUserKey matchesKey:kPAPActivityToUserKey inQuery:followingActivitiesQuery];
[photosFromFollowedUsersQuery whereKeyExists:kPAPPhotoPictureKey];