gpt4 book ai didi

javascript - 解析 - 查询不在查询中的对象

转载 作者:行者123 更新时间:2023-11-28 06:47:09 25 4
gpt4 key购买 nike

我的用户类别对于他们关注的所有用户都有“关注”关系。填充得很好。每个用户还有一个字符串类型的“FacebookID”列。我想查询所有不属于“以下”关系的用户。

例如,假设我有用户 A、B 和 C,其中 A 正在关注 B。我对用户 A 的查询应该返回 C,因为这是 A 唯一没有关注的用户。

这是我当前正在使用的代码(它是用 Objective-C 编写的,但请随意以任何语言进行回复。我熟悉 JS、Java、Swift 和 Obj-C 中的 Parse):

PFUser *user = [PFUser currentUser];
PFRelation *follows = user[@"Follows"];

PFQuery *query = [PFUser query];
//Make sure it's not in the followers
[query whereKey:@"FacebookID" doesNotMatchKey:@"FacebookID" follows.query];
//Make sure it's not the current user
[query whereKey:@"FacebookID" notEqualTo:user[@"FacebookID"];
[query findObjectsInBackgroundWithBlock:^(NSArray * _Nullable objects, NSError * _Nullable error) {
NSLog(@"Found %lu users that the current user doesn't follow.", objects.count);
}];

这可行,但一旦用户的关注计数超过 1000,它就不会,因为该关系只会返回前 1000 个。

我只想一次在整个用户群中找到大约 10 个人没有关注,而不是全部。你会怎样做呢?

最佳答案

我认为答案在于 whereKey:doesNotMatchKey:inQuery: 的用户,但我不确定您的数据模型。 Follows 与 PFUser 的目标类有关系吗?在这种情况下,您想要的查询可以简洁地表述为...

PFRelation *follows = user[@"Follows"];
PFQuery *innerQuery = [follows query];
PFQuery *query = [PFUser query];
query.limit = // your choice, up to 1000
[query whereKey:@"objectId" doesNotMatchKey:@"objectId" inQuery:innerQuery];

请注意,这并不是指 OP 所指用户的“FacebookID”字符串列。如果正确设置了以下与用户的关系,则不需要。

关于javascript - 解析 - 查询不在查询中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33310235/

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