【问题标题】:Sorting by nearest locations in Backand?按后端最近的位置排序?
【发布时间】:2017-09-12 09:31:28
【问题描述】:

是否可以根据“点”类型的位置字段与查询用户当前位置的距离对从 Backand 返回的对象进行排序?

从 Backand 文档中,我只看到了对基于点的最大距离进行查询的支持,但没有看到按地理点排序。

【问题讨论】:

    标签: geolocation geopoints backand


    【解决方案1】:

    我能够在 Backand 中创建一个自定义查询,我可以从 Backand API 中访问它。不幸的是,为了对附近用户的距离进行排序,我需要计算从当前用户到数据库中每个其他用户的距离,然后基于此进行排序。看起来很复杂 - 每次调用查询时都会进行大量计算!随着数据库变大,可能会看到很大的性能损失。猜猜它回答了这个问题,但我仍然希望找到更好的选择。

    【讨论】:

    • 看来您可能需要图形算法和记忆化,这可以减少计算每个距离所花费的时间,但会增加数据存储成本。另一种选择是将距离作为查询中的字段返回给特定用户。如果您检查距离的平方而不是距离,您可以将所需的操作减少到两个乘法和数据库中每个用户的加法。问题是每次更新用户时都需要运行 N 次。
    猜你喜欢
    • 1970-01-01
    • 2013-03-12
    • 2020-08-08
    • 1970-01-01
    • 2017-03-07
    • 2017-10-13
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多