我正在尝试进行查询以获取某些对象。问题是..我不知道如何进行查询来获取与数组匹配的对象。 User 可以是多个 Group 的成员,因此这些组的名称作为数组存储在 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”,“..”]。该数组已包含在内。最后一行代码选择用户所属的所有对象。
关于java - 解析数组值的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28170405/