mongo db中的GeoLocation查询

时间:2018-04-18 13:23:32

标签: mongodb mongoose geolocation mongodb-query mongoid

如何使用mongo collection中的mongodb查询获得经度和格度 基于失意和某些坐标。

{
    "_id" : ObjectId("5a559b13ae201d0c05cb6f6a"),
    "id" : "99623",
    "city" : "Wasilla",
    "cnty" : "Matanuska Susitna",
    "cntyFips" : null,
    "st" : "AK",
    "stName" : "Alaska",
    "areaCode" : "907",
    "lat" : 61.5816,
    "long" : -149.4393,
    "rgn" : "West",
    "__v" : 0 
}

在本文档中,“lat”表示纬度,“long”表示经度。

所以基本上我必须根据当前的id lat和long来获得所有ID,它们来自特定的英里距离范围。

2 个答案:

答案 0 :(得分:1)

Mongo支持GeoJSON,它允许您轻松地对这些数据执行基本查询。示例包括$geoWithin,用于您的特定用例。

答案 1 :(得分:0)

我们需要更多关于您要查询的文档结构的信息,但这里有一个简单的Mongo文档here中提供的查询示例。 值得注意的是,您需要为定义为GeoJSON点的位置数据提供2dsphere索引才能使其生效。

 {
   $nearSphere: {
      $geometry: {
         type : "Point",
         coordinates : [ <longitude>, <latitude> ]
      },
      $minDistance: <distance in meters>,
      $maxDistance: <distance in meters>
   }
 }