2015-11-02 62 views
1

我有UserGroupMember類與解析。Parse.com嵌套查詢包含doesNotMatchQuery

我在GroupMember類一個加入User指針列和想從User類獲取所有用戶,但不包括其存在於GroupMember類關係。

+0

請你舉一些例子,如GroupMember有這些行和列,用戶有以下的行和列在他們的值。這些值中的假數據將起作用。我們只需要知道您正在尋找的具體邏輯,以便我們可以給您最好的答案。 –

回答

1

您必須進行兩個查詢,其中您從GroupMember的指針列中查詢所有用戶objectId,然後從User類的下一個查詢中排除這些對象。

ParseQuery<ParseObject> a = ParseQuery.getQuery("GroupMember"); 
a.include("name of pointer column") 
a.findInBackground(new FindCallback...); // get list of objects id with for each loop 
//i.e. for (ParseObject o : list) String s = o.getParseObject("user_pointer_column").getObjectId(); 
//then add it to some list 

ParseQuery<ParseObject> b = ParseQuery.getQuery("User"); 
b.whereNotContainedIn("objectId", list_of_ids); 

或者其他方式:

ParseQuery<ParseObject> a = ParseQuery.getQuery("User"); 
ParseQuery<ParseObject> b = ParseQuery.getQuery("GroupMember"); 
b.whereDoesNotMatchQuery("user_pointer_column", a); 
b.findInBackground(new FindCallback...{...}); 
+0

我們可以在單個查詢中做到嗎? – preetam

+0

我更新了我的答案。像這樣? –

+0

正在尋找第二種查詢,但我希望除了某些'GroupMember's 之外的所有「User」,不知道如何與'user'類進行比較。但是,謝謝,第一種方法是正確的。 – preetam