0

我正在使用 Parse.com,并且有两个类:UserReport. AUser一天可能会发布几份报告,但我只对最近的一份感兴趣。但是,我需要获取所有符合特定标准的报告,但只有最近的一份。

最终结果是一个Reports 数组,其中User每个 s 都是唯一的,如下所示:

ObjectId | ReportedValue | User | CreatedAt
1234     | 100           | aaaa | 2013-05-20T04:23:41.907Z
1235     | 100           | bbbb | 2013-04-29T05:10:41.907Z
1236     | 100           | cccc | 2013-05-20T02:14:41.907Z
1237     | 100           | dddd | 2013-05-19T04:03:41.907Z

所以,Useraaaa 可能有 20 份报告,但我只需要每个用户的最新报告。但是,我是基于ReportedValuebeing搜索的100,并且想要的结果是报表对象,而不是用户,所以我不想遍历每个用户。

这在 Parse 中可能吗?

4

2 回答 2

1

考虑在数据模型中使用另一个对象来帮助解决这个问题。它基本上是一个与Report. 保存任何新报告时,会cloud code运行一些:

  1. 查找Report关联用户的上一个最新版本
  2. 从容器关系中删除该报告
  3. 将新报表添加到容器关系

以这种方式工作,您的应用程序可以对关系进行一次简单的查询,以获取所有最新Report的 s。

于 2013-05-20T07:08:21.323 回答
1

来自 Rest API.... 提供用户的 OID 位于您正在查询的类中记录的 ACL 段中的工作。

除了查询的其他谓词之外, parse 还可以限制返回的行数..

  --data-urlencode 'limit=1' \
  --data-urlencode 'skip=0' \

对于用户,如果您从用户表中获取您正在查询的用户的行和该用户的“令牌”字段值,然后使用您的报告查询,为 sessionToken 值设置一个额外的标题,您将只获得该用户的报告对象。

-H "X-Parse-Session-Token: pn..." \

您将只获得该用户的报告

结果.size = 1

于 2013-05-22T18:41:43.357 回答