Mongodb:如何找出某个位置附近的所有文件?

Posted

技术标签:

【中文标题】Mongodb:如何找出某个位置附近的所有文件?【英文标题】:Mongodb : How to find out all the documents which are near certain location? 【发布时间】:2016-01-19 15:13:52 【问题描述】:

我在 mongodb 中收集了 shops 具有以下重要属性

  
  .......  
  address:  
    ....  
    lat:15.9844,  
    lon:18:3333  
     

我还有一个person 收藏,其中包含他的纬度和经度信息。 我想找出那个人附近的所有商店(比如商店和人之间的距离小于 500 米)。

我正在尝试使用 nodejs 编写和查询。我写了一个函数,它需要两个位置并找出它们之间的距离。我该如何编写查询? 提前感谢您的帮助:)

【问题讨论】:

【参考方案1】:

将 lat 和 lon 更改为坐标:[15.9844,18:3333]

db.shops.find(
       
         address:
            $near :
              
                $geometry:  type: "Point",  coordinates: [ <longitude> , <latitude> ] ,
                $minDistance: 0,
                $maxDistance: 500
              
           
       
    )

【讨论】:

以上是关于Mongodb:如何找出某个位置附近的所有文件?的主要内容,如果未能解决你的问题,请参考以下文章

matlab数组中如何找某个值的坐标

matlab数组中如何找某个值的坐标

MongoDB的地理位置索引

数据库/地理位置。寻找附近的人[关闭]

mysql的索引

如何在Javascript中找出从某个文件调用的函数