Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用parse实现Hashtag多对多关系?_Iphone_Ios_Many To Many_Database Schema_Parse Platform - Fatal编程技术网

Iphone 使用parse实现Hashtag多对多关系?

Iphone 使用parse实现Hashtag多对多关系?,iphone,ios,many-to-many,database-schema,parse-platform,Iphone,Ios,Many To Many,Database Schema,Parse Platform,我最近发现了在我的应用程序中使用后端作为服务平台的强大功能,它们非常强大,但问题是没有太多教程可以指导您在这些平台上实现这么多特殊的数据库结构,因此我提出了这个流行的场景以获得一些清晰性 结构是用户可以写一篇文章并附加hashtags(最多为'n'),这些hashtags显然可以附加到许多文章,这是典型的多对多关系场景,您如何为实现以下查询提出数据库结构 用户表有一个location列,查询是为了获取当前用户位置50英里内某个特定hashtag的所有帖子 当前用户位置周围的流行标签(附加到其他用

我最近发现了在我的应用程序中使用后端作为服务平台的强大功能,它们非常强大,但问题是没有太多教程可以指导您在这些平台上实现这么多特殊的数据库结构,因此我提出了这个流行的场景以获得一些清晰性

结构是用户可以写一篇文章并附加hashtags(最多为'n'),这些hashtags显然可以附加到许多文章,这是典型的多对多关系场景,您如何为实现以下查询提出数据库结构

  • 用户表有一个location列,查询是为了获取当前用户位置50英里内某个特定hashtag的所有帖子
  • 当前用户位置周围的流行标签(附加到其他用户创建的帖子上)

  • 另外,这些是我能想到的一些一般场景,如果你认为对解析社区有帮助的话,可以在你的答案中附加任何其他流行场景

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

    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
    }];
    
    我想不出一个简单的方法,用一个解析查询来提取第二个查询的数据。一种方法是只检索当前位置附近的
    post
    s,然后遍历它们以确定与每个标签相关联的标签(并计算它们的频率)

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