繁体   English   中英

Parse.com指针值查询

[英]Parse.com Query on Pointer value

我正在将Parse.com用于我的android apps数据库。

简而言之,我正在查询具有指向类B的字段的类A。如果我查询类A并包含类B,则无论如何我都可以对类B中的字段进行查询过滤和/或排序?

我对sql风格的db更加熟悉,从我的描述中可能会变得很明显。 在解析中,我有一张表格供邀请游戏“ gameInvitees”的人使用,其中包含一些元数据,例如何时邀请他们以及他们的rsvp状态。 然后是带有游戏“ gameInstances”的单独表。 “ gameInvitees”包括指向他们被邀请参加的游戏的指针和被邀请的解析用户。

我的问题是我正在尝试查询“ gameInvitees”表,以便可以基于“ gameInstance”表中的游戏时间找到被邀请加入游戏的当前用户。

我当前的代码如下所示:

    Calendar cal = Calendar.getInstance();
    cal.setTime(new Date());
    cal.add(Calendar.HOUR, -1);
    final Date oneHourBack = cal.getTime();


    // get games that the current user is invited to
    ParseQuery<GamePhaseInvitees> inviteeQuery = ParseQuery.getQuery("gameInvitees");
    inviteeQuery.whereEqualTo("inviteeAccount", ParseUser.getCurrentUser());  // current user is invited
    inviteeQuery.include("GameInstance");
    //    inviteeQuery.whereGreaterThanOrEqualTo("GameInstance.GameTime", oneHourBack);  // game is one hour back (but, this doesn't work)


    inviteeQuery.findInBackground(new FindCallback<GamePhaseInvitees>() {
        public void done(List<GamePhaseInvitees> gamesInvitedToList, ParseException e) {
            if (e == null) {

            } else {
            }

        }
    });

该代码经过简化以解释该问题。 基本上,我需要弄清楚用注释行可以做的事情,以查询由指针连接的字段。 那可能吗? 有没有干净的解决方法?

这是一个可能的解决方案:

从表的类型创建一个ParseObject: ParseObject time = new ParseObject("Date"); 然后从结果中获取time = result.getParseObject(pointer_field);time = result.getParseObject(pointer_field);

现在,您可以像平时一样从time中提取其具有的任何字段,例如: time.getString("some_field")

您可能还需要包括: query.include("pointer_field")

根据解析社区:

可以使用whereKey:matchesKey:inQuery:或whereKey:matchesQuery:代替whereKey:中的点符号。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM