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

时间:2016-01-19 15:13:52

标签: javascript node.js mongodb geolocation

我在mongodb中有一个集合shops,其中包含以下重要属性

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

我还有一个person集合,其中包含纬度和经度信息。 我想找出那个人附近的所有商店(说商店和人之间的距离不到500米)。

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

1 个答案:

答案 0 :(得分:1)

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

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