2

我的应用程序有一个类可以保存用户上传的图片。类中的每个对象都有一个 city 属性,该属性包含拍摄照片的城市名称,以及一个 like 属性,用于跟踪喜欢的数量。

我希望能够发送一个查询,每个城市返回一张图片,并且每张图片都应该在它所属的城市中拥有最高的喜欢排名。我怎样才能做到这一点?

我首先想到的一种方法是通过获取最喜欢的城市图片并将其保存在数组中来进行多个查询,然后对其他城市执行相同的操作。但是,每个国家都有不止一个城市,因此效率不高。

Parse 不支持数据库中使用的普通操作。此外,我尝试使用复合查询。不幸的是,我无法对子查询设置限制或排序。有什么好的解决方案吗?

4

1 回答 1

3

使用 group by 会很容易。不幸的是,Parse 不支持“选择不同”或“分组依据”功能。

正如您所建议的,您需要为每个国家/地区获取所有城市,并为每个城市获取评分最高的照片。

但是,由于 Parse 对请求的执行持续时间有严格的限制(事件侦听器为 3 秒,自定义函数为 7 秒),我建议您在后台作业中执行此操作,将评分最高的新表保存在每个城市的照片。通过这种方式,您可以轻松地从客户端查询数据库。在解析删除它们之前,后台作业最多可以执行 15 分钟,因此您可以在没有超时的情况下进行这种查询。

希望能帮助到你

于 2014-03-11T08:40:31.910 回答