MongoDB的地理位置索引

NO IMAGE

背景

我們平常打開一些App的時候,經常有一個“查詢周邊景點”的功能,如我在高德里面就查詢到了附近的景點。

MongoDB的地理位置索引MongoDB的地理位置索引

這種計算如果通過普通的關係型數據庫,那對服務器和數據庫的性能要求就太高了。

我們可以通過MongoDB自帶的地址位置索引來實現。

如何使用

前期準備:插入數據

我們先插入四條數據,即店鋪的類型,名稱和地理位置。注意地理位置的第一個數值表示精度(範圍為-100到100),第二個數值表示緯度(範圍為-90到90)。

MongoDB的地理位置索引MongoDB的地理位置索引

查詢結果

下圖的語句是查詢在經緯度為50和50位置附近的店鋪,但我們看到是報錯了,理由是我們要新建字段loc上面的地理索引。

MongoDB的地理位置索引MongoDB的地理位置索引

建立地理索引的步驟如下: (也就是在loc字段上面建立地理位置索引)

MongoDB的地理位置索引MongoDB的地理位置索引

我們重複執行剛才的語句,發現成功啦。

MongoDB的地理位置索引MongoDB的地理位置索引

現在我們寫一個稍微複雜的場景,我們要搜索在位置(50,50)附近的咖啡店,該排序是從近到遠排的。

MongoDB的地理位置索引MongoDB的地理位置索引

我們再寫一個更復雜的場景,我們要搜索在位置(50,50)附近的咖啡店,並且距離在37m之內。

MongoDB的地理位置索引MongoDB的地理位置索引

還有一個參數是limit,控制店鋪數量的,如下:

MongoDB的地理位置索引MongoDB的地理位置索引

MongoDB的地理位置索引MongoDB的地理位置索引

MongoDB的地理位置索引​長按下圖二維碼,即刻關注【學習Java的小姐姐】 領取超多學習資料哦!

MongoDB的地理位置索引MongoDB的地理位置索引

相關文章

認識MongoDB複製集

MongoDB的基本操作(增刪改查)

MongoDB的查詢索引

MongoDB的全文索引