我正在尝试查询某些用户,他们在给定点的半径范围内,或者他们满足其他一些要求。为此,我需要OR两个查询:
var notOnlyLocal = new Parse.Query(Parse.User);
notOnlyLocal.equalTo('onlyLocal', false);
notOnlyLocal.equalTo('regions', someSelectedRegions);
var onlyLocal = new Parse.Query(Parse.User);
onlyLocal.equalTo('onlyLocal', true);
onlyLocal.withinMiles('location', geoPoint, 100);
return Parse.Query.or(notOnlyLocal, onlyLocal);
一个很好的答案来自Parse:
{
"code": 141,
"error": "{\"code\":102,\"message\":\"geo query within or is not supported\"}"
}
这种情况有解决办法吗?文件中没有任何相关内容。在警告中他们说对象可能只包含1个位置,near()函数限制结果为半径100英里,点不应等于或超过范围的极端。
有没有人试图做类似的事情,并成功了?或者任何有关良好解决方法的提示?
答案 0 :(得分:2)
您无法将此查询用于" 或"声明。您需要将它们作为2个单独的查询运行,然后自己组合结果集。首先执行 notOnlyLocal 查询,然后按 inMiles clausole
过滤结果