Mongodb地理空間索引

來源:互聯網
上載者:User

標籤:

1、索引:

    建立索引既耗時也費力,還需要消耗很多資源。使用{"bakckground":true}選項可以使這個過程在後台完成,同時正常處理請求。如果不包括background

這個選項,資料庫會阻塞建立索引期間的所有請求。阻塞的做法會讓索引建立得更快,同時也意味著應用在此期間不能應答。即便在後台進行也會對正常操作有些影響。

2、地理空間索引:

   通俗說就是找到離當前位置最近的N個場所。預設情況下,地理空間索引假設值的範圍是-180~180。要是想使用其他值,可以通過ensureIndex的選項來指定最大最小值:

    >db.star.trek.ensureIndex({"light-years":"2d"},{"min":-1000,"max":1000});

    這樣就建立了一個2000光年的空間索引。

    對於"$near"的例子下面列舉一個:

    >db.map.find({"gps":{"$near":[40,-73]}}).limit(10)

    也可以使用geoNear來。

     >db.runCommand({geoNear:"map",near:[40,-70],num:10});

     geoNear會返回每個文檔到查詢點的距離。這個距離是以你插入的資料為單位的,如果按照經緯度的角度插入,則距離就是經緯度。

     還可以指定形狀內的文檔。

   例如$center來找到圓形內部的所有網站

     >db.map.find({"gps":{"$within":{"$center":[12,34],5]}}});

  

 3、mongo的地理空間索引假設索引內容是在一個平面上的。這就意味著對於球體,比如地球,它並不是十分精確,尤其是在極地地區。具體來說,兩條經線之間緯線的長度在赤道和在育空地區是不一樣的,後者要短很多。

 

Mongodb地理空間索引

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.