我正在使用Parse.com,并且有两个类:User
和Report
。 User
可能会在一天内发布多个报告,但我只对最近的报告感兴趣。但是,我需要获得符合特定条件的所有报告,但只能获得最新报告。
最终结果是Report
s的数组,其中User
在每个{1}}上都是唯一的,如下所示:
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
因此,User
aaaa可能有20个报告,但我只需要每个用户最新的报告。但是,我正在根据ReportedValue
100
进行搜索,所需的结果是报表对象,而不是用户,因此我不想浏览每个用户。
这在Parse中是否可行?
答案 0 :(得分:1)
考虑使用数据模型中的另一个对象来帮助解决这个问题。它基本上是一个与Report
有关系的容器。保存任何新报告时,会运行一些cloud code
:
Report
通过这种方式,您的应用可以对关系进行单一,简单的查询,以获取所有最新的Report
。
答案 1 :(得分:1)
来自Rest API ....提供用户的OID的工作在您要查询的类中的记录的ACL段中。
除了查询的其他谓词之外,parse还可以限制返回的行数..
--data-urlencode 'limit=1' \
--data-urlencode 'skip=0' \
对于用户,如果从用户表中获取要查询的用户的行 和该用户的'token'字段值,然后使用您的报表查询,将一个额外的标题设置为sessionToken值,您将只获得用户的报表对象。
-H "X-Parse-Session-Token: pn..." \
您将获得该用户的报告
AND
results.size = 1