解析不提供完整的關係數據庫,但可以將關係列添加到數據類,該類允許類之間的多對多關聯。例如,您可以有一個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
}];
我想不出一種簡單的方法,即使用單個Parse查詢將第二個查詢的數據拉出來。一種方法是在當前位置附近檢索post
,然後遍歷它們以確定與每個標籤相關聯的標籤(並計算它們的頻率)。
另一個選項完全是將標籤作爲字符串數組存儲在帖子中。然後,您可以使用標籤whereKey:equalTo:
(單個標籤)或whereKey:containedIn:
(多個標籤)查詢。採用這種方法,您需要跟蹤哪些標籤存在於其他地方。