咱們日常打開一些App的時候,常常有一個「查詢周邊景點」的功能,如我在高德里面就查詢到了附近的景點。數據庫
這種計算若是經過普通的關係型數據庫,那對服務器和數據庫的性能要求就過高了。服務器
咱們能夠經過MongoDB自帶的地址位置索引來實現。性能
咱們先插入四條數據,即店鋪的類型,名稱和地理位置。注意地理位置的第一個數值表示精度(範圍爲-100到100),第二個數值表示緯度(範圍爲-90到90)。學習
下圖的語句是查詢在經緯度爲50和50位置附近的店鋪,但咱們看到是報錯了,理由是咱們要新建字段loc上面的地理索引。3d
創建地理索引的步驟以下: (也就是在loc字段上面創建地理位置索引)cdn
咱們重複執行剛纔的語句,發現成功啦。blog
如今咱們寫一個稍微複雜的場景,咱們要搜索在位置(50,50)附近的咖啡店,該排序是從近到遠排的。排序
咱們再寫一個更復雜的場景,咱們要搜索在位置(50,50)附近的咖啡店,而且距離在37m以內。索引
還有一個參數是limit,控制店鋪數量的,以下:it
長按下圖二維碼,即刻關注【學習Java的小姐姐】 領取超多學習資料哦!