Mongodb地理空間索引

2021-09-06 17:12:29 字數 798 閱讀 8410

mongodb專門針對這樣的查詢建立了地理空間索引。

2d和2dsphere索引。

建立places集合,來存放地點,

loc欄位用來存放地區資料geojson point。

db.places.insert(

,name: "central park",

category : "parks"

})db.places.insert(

,name: "la guardia airport",

category : "airport"

})

建立索引

db.places.ensureindex(  )
引數不是1或-1,為2dsphere。

還能夠建立組合索引。

db.places.ensureindex(  )

$geometry表示查詢的幾何.

type表示型別:polygon 多邊形

db.places.find(  } } } )

使用$near來查詢附近的地點。

db.places.find(  ,

$maxdistance : } } } )

查詢圓時,須要指定圓心, 半徑。

db.places.find(  } } )

[-88, 30] 為經緯度,  10為半徑。

Mongodb地理空間索引

關於lbs相關專案,一般儲存每個地點的經緯度的座標,如果要查詢附近的場所,則需要建立索引來提公升查詢效率。mongodb專門針對這種查詢建立了地理空間索引。2d和2dsphere索引。建立places集合,來存放地點,loc欄位用來存放地區資料geojson point。12 3 4 5 6 7 8...

MongoDB的地理空間索引

db.users.ensureindex mongodb就會在position這個鍵上建立二維的地理索引。position的值必須是某種形式的一對值,乙個包含兩個元素的陣列或者包含兩個鍵的內嵌文件,比如 使用的時候主要可以用near方式進行find,會按照距離有近到遠的順序排序返回10個 db.us...

mongodb地理位置索引實現原理

地理位置索引支援是mongodb的一大亮點,這也是全球最流行的lbs服務foursquare 選擇mongodb的原因之一。我們知道,通常的資料庫索引結構是b tree,如何將地理位置轉化為可建立b tree的形式,下文將為你描述。首先假設我們將需要索引的整個地圖分成16 16的方格,如下圖 左下角...