MongoDB的GeoSpatial索引

來源:互聯網
上載者:User

最近一直在做基於LBS的項目,地標的座標索引和基於座標查詢,一直沒找到一種簡單方便的方法,在做mongo索引最佳化的時發現竟然有Geo的索引

1. 建立欄位

建議使用方式:{ loc : [ longitude , latitude] }

也可以:{ loc : { lon :longitude, lat:latitude } }

Loc自己決定,我用poi的

2. 建立索引,注意:每個Collection只能建立一個geospatial索引

db.places.ensureIndex( { loc : "2d" } , { min : -500 , max : 500 } )

如果db.places.ensureIndex( { loc : "2d" }), 預設值的範圍是:-180到180,也就是經緯度的範圍

3. 查詢

註:1.預設會按距離排序;

2.轉換 111.12 距離 (一度是大約 111.12 公裡) 使用公裡,或由 69 (對於英裡)

3.1.預設取100條距離最近的點,註:預設是limit(100)

db.collection.find({loc:{$near :[ 30.28009,120.12857]}})

最新更新請見:http://www.shareach.com/?p=136

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.