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