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