MongoDB geoNear 多坐标

标签 mongodb geolocation mongoid nosql

我想根据它们与 2D 空间中多个点的接近程度对我的结果进行排序。

我假设这将通过查询第一点然后根据第二点重新查询/检查这些结果来完成?

也许下面的代码可以更好地解释我想要实现的目标?

db.runCommand({
  geoNear:"places",
  near:[ [52.5243, 13.4063], [48.1448, 11.5580] ]
})

解决方案:如果有人感兴趣,我就是这样实现的(感谢下面的答案)

a = Trip.geo_near([52.5243, 13.4063], :max_distance => 40, :unit => :mi).uniq
b = Trip.geo_near([48.1448, 11.5580], :max_distance => 40, :unit => :mi).uniq
@results = a & b

最佳答案

MongoDB 在其文档中有一整节是关于地理空间索引的。 http://www.mongodb.org/display/DOCS/Geospatial+Indexing

我认为您正在寻找的是边界框查询。这直接来自他们的代码示例。

box = [[40.73083, -73.99756], [40.741404,  -73.988135]]
db.places.find({"loc" : {"$within" : {"$box" : box}}})

关于MongoDB geoNear 多坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9723258/

相关文章:

android - Android webview 和浏览器上的地理定位失败

android - 在没有目的地的情况下在 Google map 上 x 公里后获取纬度经度?

javascript - 如何下载本地数组或添加到postgres数据库

ruby - Mongoid 1..N多态引用关系

ruby-on-rails - Mongoid:通过id数组查找

ruby-on-rails - mongoid 中的货币表示

node.js - 在 Node js 中处理多人游戏的超时。

mongodb - 如何使用mongo删除meteor中的数组项?

mongodb查询更新选择嵌套字段

java - MongoDB:所有完整叶路径