对数组值进行解析查询

时间:2015-01-27 12:20:29

标签: java android parse-platform

我正在尝试进行查询以获取某些对象。事情是..我不知道如何进行查询以获得与数组匹配的对象。用户可以是多个组的成员,因此这些组的名称作为数组存储在User.group中。我试图获取当前用户所属的类“Group”的所有对象。我想出了这个:

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

最后一行代码显然不是这样做的。我已经看过Parse Guide了!非常感谢帮助!

1 个答案:

答案 0 :(得分:1)

经过一些挖掘和测试后,我想出了一个解决方案。实际上并不困难..

ParseQuery<ParseObject> groupQuery = new ParseQuery<ParseObject> ("Group");
groupQuery.include("array");
groupQuery.whereEqualTo("array", ParseUser.getCurrentUser().getUsername());

此代码选择类“Group”,该类具有一个数组,其中包含名为“members”的所有用户名,如下所示:[“user1”,“user2”,“..”]。包含此数组。最后一行代码选择用户所属的所有对象。