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