0
我有一个经度和纬度的mongodb数据库。 我想要的是返回经度和纬度在1KM半径或更高的所有数据。mongodb过滤半径范围内的所有经度和纬度
{
user:rex,
longitude: 24,
latitude: 20
}
我有一个经度和纬度的mongodb数据库。 我想要的是返回经度和纬度在1KM半径或更高的所有数据。mongodb过滤半径范围内的所有经度和纬度
{
user:rex,
longitude: 24,
latitude: 20
}
如果您的集合名称为user
则首先创建地理空间索引
db.user.ensureIndex({loc:"2d"})
你需要的半径值转换成公里。默认情况下,mongodb $ near接受$ maxDistance作为半径。
现在你可以1公里半径
db.user.find({ loc : { $near : [yourLat,yourLon] , $maxDistance : 100/111.12 } })
内寻找更多的MongoDb version 2.2 doc