gpt4 book ai didi

iphone - 使用parse实现Hashtag多对多关系?

转载 作者:行者123 更新时间:2023-11-29 03:43:28 25 4
gpt4 key购买 nike

我最近发现了在我的应用程序中使用后端作为服务平台的强大功能,它们很棒,但问题是没有很多教程来指导您在这些平台上完成如此多的特殊数据库结构实现,所以我想出了这个流行的场景以获得一些清晰度

结构是用户可以写一篇文章并附加主题标签(最多“n”),这些主题标签显然可以附加到许多帖子,这是典型的多对多关系场景,您将如何建议数据库执行以下查询的结构?

  1. 用户表有一个位置列,查询是获取当前用户位置 50 英里内特定主题标签的所有帖子?
  2. 当前用户位置周围的热门主题标签(附加到其他用户创建的帖子)

附言这些是我能想到的一些一般场景,如果您认为对 Parse 社区有帮助,请在您的答案中附加任何其他流行的场景。

最佳答案

Parse 不提供完整的关系数据库,但您可以向数据类添加关系列,这允许类之间进行多对多关联。例如,您可以拥有一个 hashtag 类,并向包含其关联主题标签的 post 类添加一个关系列。查询 1 可以通过针对 hashtag 类构建查询、指定所需的主题标签,然后将其添加为针对 post 类的查询的子查询来回答。在包含查询中,您需要指定您正在寻找用户位置附近的post。例如

PFQuery *tagQuery = [PFQuery queryWithClassName:@"hashtag"];
[tagQuery whereKey:@"tagName" equalTo:@"hash_tag_name"];

PFQuery *postQuery = [PFQuery queryWithClassName:@"post"];
[postQuery whereKey:@"hashtags" matchesQuery:tagQuery];
[postQuery whereKey:@"location" nearGeoPoint:userLocation withinMiles:50.0];

[postQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
//Do something with results
}];

我想不出一种直接的方法来使用单个解析查询提取第二个查询的数据。一种方法是仅检索当前位置附近的帖子,然后迭代它们以确定与每个帖子关联的标签(并计算它们的频率)。

另一种选择是将标签存储为帖子的字符串数组。然后,您可以使用 whereKey:equalTo: (单个标记)或 whereKey:containedIn: (多个标记)按标记进行查询。使用这种方法,您需要跟踪其他地方存在哪些标签。

关于iphone - 使用parse实现Hashtag多对多关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18040952/

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