如何在Parse Query中使用子查询或谓词?

时间:2015-02-06 13:18:13

标签: ios sql parse-platform

基本上,我想为Parse进行以下伪查询。但我无法找到一种可行的方法:

SELECT * FROM UserPhoto WHERE DISTANCE(UserLocation,ImageLocation) <= VisibleRadius

此处,距离是一个函数,可以得到UserLocationImageLocation之间的距离,它们都是PFGeoPointVisibleRadiusImageLocation是数据库中的两个值。

在Parse中,通常我会query.where('ImageLocation', lessThan: SomeValue)正确。但是我的案例在我需要考虑的数据库中有两个值。我该怎么办?

我真的很感激任何帮助!

1 个答案:

答案 0 :(得分:0)

假设currentLocation使用CLLocationManager确定用户的当前位置,请尝试以下操作:

PFQuery *query = [PFQuery queryWithClassName: @"<the_class_name>"];
PFGeoPoint *point = [PFGeoPoint geoPointWithLatitude: currentLocation.coordinate.latitude longitude: currentLocation.coordinate.longitude];
[query whereKey: @"ImageLocation" nearGeoPoint: point withinKilometers: VisibleRadius];