如何进行解析数据库关系查询?

How to make Parse Database Relations Query?

我正在尝试查询以从我的数据库中获取一些数据,但我似乎不知道如何做。

我的数据库是这样的:

_用户

|对象编号 |用户名 |密码 |组(关系(group_name)) | .. |

|对象编号 | group_name | .. |

Activity

|对象编号 | activity_name |组(指针(objectId)) | .. |

我的目标是显示当前用户(登录)链接到的所有活动。所以一个用户可以是一个组(关系)的一部分,一个组可以有多个活动。这些活动有一个指向 Group.objectId 的指针。如何显示当前用户所属组的活动?

目前这是我的代码:

    ParseObject current = ParseUser.getCurrentUser();
    ParseRelation relation = current.getRelation("groups");
    ParseQuery query = relation.getQuery();

    ParseObject test = new ParseObject("group");
    String ObjectId = test.getObjectId();

    ParseQuery<ParseObject> query2 = new ParseQuery<ParseObject>("Activity");
    query2.whereEqualTo("group_name", ObjectId);

..

@Override
    protected void onPostExecute(Void result) {
    // Locate the listview in listview_main.xml
    listview = (ListView) findViewById(R.id.listview);
   // Pass the results into an ArrayAdapter
    adapter = new ArrayAdapter<String>(MainActivity.this, R.layout.activity_main_listview_item);
    // Retrieve object "name" from Parse.com database
    for (ParseObject query : ob) {
        adapter.add((String) query.get("activity_name"));
    }

The answer is in the Parse Guide:

Parse Guide

不确定是否可以使用 2 个查询执行以下操作...

获取当前用户的一组组作为查询结果 $myGroupQ 用户所属的一组组

查询 2 使用 "query.include("组")

查询 2 是 query.Activity,条件为:

   query.whereContainedIn("groups", $myGroup); 

只要 var myGroup 是 ofType=Array,就应该可以。

所以使用 qry1 中的 $myGroup 作为查询 #2 中的约束 setOfValues "containedIn"

来自关于 查询约束的 android 文档部分

答案在解析指南中:

innerQuery