spring data mongo踩坑之地理空間

2021-10-06 08:58:44 字數 809 閱讀 8126

如果想實現類似探探那樣搜尋附近人的功能,而使用的資料庫為mongodb,那實現的方法還是挺簡單的。但是對於這方面,網上的案例不是太多,而且解釋大多模糊不清。

不多說,直接上**:

query query =

newquery()

;query.

addcriteria

(criteria.

where

("loc").

withinsphere

(new

circle

(new

point

(model.

getlongitude()

,model.

getlatitude()

),newdistance

(distance, metrics.kilometers)))

);querylistsbyquery

(query)

;

其中loc為你資料庫中儲存的經緯度,而model.getlongitude(),model.getlatitude()則為你所要計算的 經緯度,distance為你所要計算的經緯度距離,單位km。

當然可以自己選擇為m。

kilometers

(6378.137d

,"km"),

miles

(3963.191d

,"mi"

),

而其中最重要的是withinsphere,根據球面計算,而不是普通的within。

由此可以得出附近的人。

systemtap embedded C 踩坑筆記

官方文件 systemtap的embedded c中,不能 include 也不能用printf和print。那怎麼列印呢?用stap printf。用法與printf一樣。還可以訪問cript中的全域性變數。官方文件中的示例 global var global var2 100 function ...

Aggregation MongoDB踩坑記錄

對某些篩選條件進行分頁查詢,開始每一頁的有效data都不足pagesize,最後發現,aggregation 的pipeline是有先後順序的。錯誤 agg aggregation.newaggregation aggregation.skip curpage 1 pagesize aggregat...

feign踩坑 通過Feign上傳檔案(踩坑)

引入依賴 org.springframework.cloud spring cloud starter openfeign 服務提供者 restcontroller public inte ce fileuploadservice commonresultuploadfile requestpart...