Mongodb地理空間索引

2021-09-08 20:01:52 字數 1846 閱讀 3894

關於lbs相關專案,一般儲存每個地點的經緯度的座標, 如果要查詢附近的場所,則需要建立索引來提公升查詢效率。 mongodb專門針對這種查詢建立了地理空間索引。 2d和2dsphere索引。

建立places集合,來存放地點, loc欄位用來存放地區資料geojson point。?

12

3

4

5

6

7

8

9

10

11

12

13

14

15

db.places.insert(

,

name:"central park",

category :"parks"

}

)

db.places.insert(

,

name:"la guardia airport",

category :"airport"

}

)

建立索引?

1db.places.ensureindex( )

引數不是1或-1,為2dsphere。還可以建立組合索引。?

1db.places.ensureindex( )

$geometry表示查詢的幾何.

type表示型別:polygon 多邊形?

12

3

4

5

6

7

8

9

10

11

db.places.find( } } } )

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

12

3

4

5

6

7

db.places.find( ,

$maxdistance :

} } } )

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

12

3

4

5

db.places.find( } } )

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

Mongodb地理空間索引

mongodb專門針對這樣的查詢建立了地理空間索引。2d和2dsphere索引。建立places集合,來存放地點,loc欄位用來存放地區資料geojson point。db.places.insert name central park category parks db.places.insert...

MongoDB的地理空間索引

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

mongodb地理位置索引實現原理

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