Javascript 在Meteor中按与当前用户的距离对用户进行反应性排序?

Javascript 在Meteor中按与当前用户的距离对用户进行反应性排序?,javascript,mongodb,meteor,geolocation,distance,Javascript,Mongodb,Meteor,Geolocation,Distance,在处理根据各种数据对出版物进行反应性排序时,我遇到了meteor。每一次,我都没有找到一个真正的答案来回答我想要实现的目标,最后我放弃了,只是决定“不要那样构建我的应用程序”,这总是让我很难过 现在,也许我可以把这个问题简单地表达出来,让它得到一个建设性的、非常有趣的答案。我认为这听起来应该可以在Meteor应用程序中完成,因此: 我将用户的位置存储在Accounts.users集合中的“lat”和“lon”变量中。我希望当前用户获得一个列表,比如说,与他或她最近的10个用户。考虑到从纬度和经度

在处理根据各种数据对出版物进行反应性排序时,我遇到了meteor。每一次,我都没有找到一个真正的答案来回答我想要实现的目标,最后我放弃了,只是决定“不要那样构建我的应用程序”,这总是让我很难过

现在,也许我可以把这个问题简单地表达出来,让它得到一个建设性的、非常有趣的答案。我认为这听起来应该可以在Meteor应用程序中完成,因此:

我将用户的位置存储在Accounts.users集合中的“lat”和“lon”变量中。我希望当前用户获得一个列表,比如说,与他或她最近的10个用户。考虑到从纬度和经度获得该距离所需的一组操作,我将如何做到这一点

据我所知,在MongoDB查询条件中插入这样一个等式几乎是不可能的。那么其他人是如何实现这一壮举的呢


我希望能对这个问题有任何见解,尽管它可能是理论性的。

看看我的工作示例和关于

您可以找到如下内容:

   var nearMarkers = allMarkers.find({
      location: {
        $near: {
          $geometry: {
            type: "Point",
            coordinates: location
          },
          $maxDistance: radius
        }
      }
    });

MongoDB的位置就是这里。记住:在MongoDB液化天然气项目中,我不知道为什么。我是在客户端做的,但是你也可以用同样的方式发布,具体取决于radius。

如果你使用mysql,它可以支持空间特征并支持各种GIS功能。查看某人正在计算距离的示例。谢谢!非常有趣,我们将对此进行研究:)不过,Meteor不允许MongoDB之外的任何其他DBMS。:/我听说有一种方法可以让它在MySQL上运行,但我并不急于开始黑客攻击。运营商不做你想做的吗?哇,mongodb有一个运营商做这个?!谢谢,我会试试的!别忘了正确的数据类型和索引。
$near
排序如何进入其他排序修饰符?例如,如果我在服务器上的
find
方法中使用
sort
作为选项,它会先按距离排序,然后按其他因素排序,还是相反?我没有答案,但在MongoDB文档中我发现:是的,我已经看过了。它似乎没有任何优先权的迹象。