我正在尝试进行查询以获取某些对象。事情是..我不知道如何进行查询以获取与数组匹配的对象。用户可以是多个组的成员,因此这些组的名称作为数组存储在User.groups中。我正在尝试获取当前用户所属的“组”类的所有对象。我想出了这个:
ParseQuery query1 = ParseQuery.getQuery("_User"); //selects User Class
query1.whereEqualTo("username", current_user.toString()); //selects current user
query1.include("groups"); //include 'groups' of type array with names of the groups that the user is a member of
ParseQuery query2 = ParseQuery.getQuery("Group"); //select Groups Class
query2.whereContainedIn("group_name", ?); //<-- Get objects where group_name matches a value in the User.groups
代码的最后一行显然不是这样做的方法。我已经看过解析指南!非常感谢帮助!
最佳答案
经过一些挖掘和测试之后,我想出了一个解决方案。其实并不难。
ParseQuery<ParseObject> groupQuery = new ParseQuery<ParseObject> ("Group");
groupQuery.include("array");
groupQuery.whereEqualTo("array", ParseUser.getCurrentUser().getUsername());
此代码选择类“ Group”,该类中有一个数组,其中包含所有名为“ members”的用户名,看起来像:[“ user1”,“ user2”,“ ..”]。包含此数组。代码的最后一行选择用户所属的所有对象。