Parse platform 关系查询和按距离排序的近顺序-parse.com

Parse platform 关系查询和按距离排序的近顺序-parse.com,parse-platform,Parse Platform,我正在处理一个问题,但我无法解决它,我们开始: 我遇到了与这里描述的完全相同的问题,我尝试了Fosco Marotto的解决方案(他是一个解析器),但没有成功: 我的当前情况:我有一个类项,它带有指向另一个类用户的指针,该类用户的字段“location”是一个地质点 我所要做的就是按最近的第一个顺序显示给定位置顺序附近的所有项目 我的问题是: ParseQuery mUserQuery = ParseQuery.getQuery(User.class); mUserQuery.

我正在处理一个问题,但我无法解决它,我们开始:

我遇到了与这里描述的完全相同的问题,我尝试了Fosco Marotto的解决方案(他是一个解析器),但没有成功:

我的当前情况:我有一个类项,它带有指向另一个类用户的指针,该类用户的字段“location”是一个地质点

我所要做的就是按最近的第一个顺序显示给定位置顺序附近的所有项目

我的问题是:

    ParseQuery mUserQuery = ParseQuery.getQuery(User.class);
    mUserQuery.whereNear("location",myLocation);

    ParseQuery mItemsParseQuery = ParseQuery.getQuery(Item.class);
    mItemsParseQuery.include("user");
    mItemsParseQuery.whereMatchesQuery("user",mUserQuery);
它可以工作,但检索到的项目不是按距离排序的

有可能吗?有什么建议吗


谢谢

问题在于对
用户
类的查询是按距离排序的,但它仅用作对
类的查询的过滤器

如果希望结果按距离排序,则只有直接查询
用户
类才能得到。您可以通过两种方式实现这一点:

  • 使用
    中的用户列表执行两个查询,其中包含在
    项上的
    查询中
  • (单个)或
    (数组)属性添加到
    用户
    类,以允许
    用户
    使用
    包含(“项”)
    包含(“项”)

唯一的另一种选择是计算客户端的距离,并使用距离增加结果,以便您可以对客户端进行排序。

感谢您的回答,这些是我认为可以解决此问题的解决方案,但Fosco Marotto的解决方案使我有希望在不做任何更改的情况下解决此问题。无论如何,我将使用你建议的第二种方法。谢谢