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

时间:2015-01-21 11:53:41

标签: android parse-platform

我试图通过查询从我的数据库中获取一些数据,但我似乎无法弄清楚如何。

我的数据库如下所示:

_user

| objectId |用户名|密码|组(relation(group_name))| .. |

| objectId | group_name | .. |

活动

| objectId | 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"));
    }
  

答案在Parse指南中:

     

Parse Guide

2 个答案:

答案 0 :(得分:0)

不确定您是否可以通过2次查询执行以下操作...

获取currentUser的一组组作为queryResult $ myGroupQ   用户所属的组

使用&#34; query.include(&#34; groups&#34;)

查询2

查询2是带条件的查询。活动:

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

只要var myGroup是ofType = Array,这应该可行。

所以使用qry1中的$ myGroup作为查询#2中的约束setOfValues&#34; containsIn&#34;

来自查询约束

的Android文档部分

答案 1 :(得分:-1)

答案在Parse指南中:

innerQuery