本文介紹了在數據庫查詢中按經緯度對位置進行排序的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
-
在數據庫(MongoDB)中存儲的對象有
latitude and longitude
。例如,我在服務器(Tomcat)上與
latitude and longitude
有指針。
我要創建query
,它將根據對象的latitude and longitude
,按距離該點的距離(從最近到最遠)對所有對象進行排序。
有沒有人能幫幫我,怎么做這樣的查詢?我只是不知道當我只有latitude and longitude
時如何按距離排序的規則。
數據庫中的對象結構:{"id","name","latitude","longitude"}
推薦答案
從Mongo DB幫助頁面-您可以使用$NEAR
所有結果從所需的點數開始從最近的一個到最遠的一個排序
MongoDB near help
…
語法:
{
$near: {
$geometry: {
type: "Point" ,
coordinates: [ <longitude> , <latitude> ]
},
$maxDistance: <distance in meters>,
$minDistance: <distance in meters>
}
}
和可用的示例
db.places.find(
{
location:
{ $near :
{
$geometry: { type: "Point", coordinates: [ -73.9667, 40.78 ] },
$minDistance: 1000,
$maxDistance: 5000
}
}
}
)
這篇關于在數據庫查詢中按經緯度對位置進行排序的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,