java - 解析数组值的查询

标签 java android parse-platform

我正在尝试进行查询以获取某些对象。问题是..我不知道如何进行查询来获取与数组匹配的对象。 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/

相关文章:

swift - 在 getDataInBackgroundWith Block 之后运行函数

ios - 只允许一个 PFUser 有一个 PFObject

javascript - 格式日期为 "yyyy-MM-dd' T'HH :mm:ss. SSS'Z'"

java - SpringBoot 2.1.0 尝试集成数据库访问时抛出 ClassNotFoundException

java - 是否可以替换 Android 中的默认 "Force Close"对话框?

java - 使用 Jsoup 递归执行器

android - 我的 Android Chromecast 应用程序游戏应该使用什么 ControlCategory?

android - 如何使 CardView 和 CardView 中的 RecyclerView 具有低项目时的大小

java - JTextField 的值更改监听器

android - 为什么我的标题会干扰我的超链接?