mongodb过滤半径内的所有经度和纬度

mongodb过滤半径内的所有经度和纬度,mongodb,Mongodb,我有一个带有经度和纬度的mongodb数据库。 我想要的是返回所有经度和纬度在1公里半径或更高的数据 { user:rex, longitude: 24, latitude: 20 } 要在MongoDB中使用半径筛选集合,请首先创建地理空间索引 如果您的收藏名称为user,则 db.user.ensureIndex({loc:"2d"}) 您需要将半径值转换为km。默认情况下,mongodb$near接受$maxDistance作为半径 现在您可以在1km半径范围内搜索

我有一个带有经度和纬度的mongodb数据库。 我想要的是返回所有经度和纬度在1公里半径或更高的数据

{
   user:rex,
   longitude: 24,
   latitude: 20

}

要在MongoDB中使用半径筛选集合,请首先创建地理空间索引

如果您的收藏名称为
user
,则

db.user.ensureIndex({loc:"2d"})
您需要将半径值转换为km。默认情况下,mongodb
$near
接受
$maxDistance
作为半径

现在您可以在
1km
半径范围内搜索

 db.user.find({ loc : { $near : [yourLat,yourLon] , $maxDistance : 100/111.12 } } )
更多