我的应用程序有一个类可以保存用户上传的图片。该类中的每个对象都有一个城市属性,其中包含拍摄照片的城市名称,以及跟踪喜欢数量的类似属性。
我希望能够发送一个每个城市返回一张图片的查询,并且每张图片应该在其所属的城市中拥有最高级别的排名。我怎样才能做到这一点?
我首先想到的一种方法是通过获取城市最喜欢的图片并将其保存在一个数组中来进行多个查询,然后对其他城市进行相同的操作。 但是,每个国家都有一个以上的城市,因此效率不高。
Parse不支持数据库中使用的普通操作。此外,我试图使用复合查询。不幸的是,我不能在子查询上设置限制或排序。对此有什么好的解决方案?
答案 0 :(得分:3)
使用group by会很容易。不幸的是,Parse不支持“select distinct”或“group by”功能。
正如您所建议的那样,您需要为每个国家/地区的所有城市取景,并且每个城市都会获得评分最高的照片。
但是,由于Parse对请求的持续时间执行有严格的限制(事件监听器为3秒,自定义函数为7秒),我建议您在后台作业中执行此操作,保存在新表中每个城市的最高评分照片。通过这种方式,您可以轻松地从客户端查询数据库。在解析它们之前,后台作业最多可以执行15分钟,因此您可以在不超时的情况下进行此类查询。
希望有所帮助