MongoDB實現(xiàn)地理位置查詢

Mongodb地理位置查詢文檔
MongoDB支持地理位置索引,可以直接用于位置距離計算和查詢畜挥。查詢結(jié)果默認(rèn)將會由近到遠(yuǎn)排序仔粥,且查詢結(jié)果也包含目標(biāo)點對象、距離目標(biāo)點的距離等信息蟹但。

geoNear是MongoDB原生支持的查詢函數(shù)躯泰,所以性能上也做到了高度的優(yōu)化,完全可以應(yīng)付生產(chǎn)環(huán)境的壓力华糖。geoNear

兩種索引方式

2d index:
使用2d index 能夠?qū)?shù)據(jù)作為2維平面上的點存儲起來麦向, 在MongoDB 2.2以前 推薦使用2d index索引。

2dsphere index:
2dsphere index 支持球體的查詢和計算客叉,同時它支持?jǐn)?shù)據(jù)存儲為GeoJSON 和傳統(tǒng)坐標(biāo)诵竭。

3種距離單位:

米(meters)
平面單位(flat units,可以理解為經(jīng)緯度的“一度”)
弧度(radians)

2d索引能同時支持$center和$centerSphere十办,
2dsphere索引支持$centerSphere秀撇。
$center默認(rèn)是度,$centerSphere默認(rèn)距離是弧度

//mongodb 實現(xiàn)lbs查詢
/***************************
首先需對col里的loc設(shè)置索引為'2d',方可進(jìn)行$near查詢
db.col.ensureIndex({'loc':'2d'})
db.col.getIndexes()
****************************/
// maxDistance單位是弧度, 地球表面1弧度距離約為6378137米, 0.001弧度距離為6378米
db.col.find({"loc": {$near: [longtitude, lattitude], $maxDistance:0.1}})

樣例代碼

db.user.find({"geo": {$near: [118.10388605,24.48923061], $maxDistance:0.1}},{id:1, name:1, state:1, geo:1}).limit(1).pretty()

Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末向族,一起剝皮案震驚了整個濱河市呵燕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌件相,老刑警劉巖再扭,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異夜矗,居然都是意外死亡泛范,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門紊撕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來罢荡,“玉大人,你說我怎么就攤上這事对扶∏裕” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵浪南,是天一觀的道長笼才。 經(jīng)常有香客問我,道長络凿,這世上最難降的妖魔是什么骡送? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任昂羡,我火速辦了婚禮,結(jié)果婚禮上摔踱,老公的妹妹穿的比我還像新娘虐先。我一直安慰自己,他們只是感情好派敷,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布赴穗。 她就那樣靜靜地躺著,像睡著了一般膀息。 火紅的嫁衣襯著肌膚如雪般眉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天潜支,我揣著相機與錄音甸赃,去河邊找鬼。 笑死冗酿,一個胖子當(dāng)著我的面吹牛埠对,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播裁替,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼项玛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了弱判?” 一聲冷哼從身側(cè)響起襟沮,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎昌腰,沒想到半個月后开伏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡遭商,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年固灵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片劫流。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡巫玻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出祠汇,到底是詐尸還是另有隱情仍秤,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布座哩,位于F島的核電站徒扶,受9級特大地震影響粮彤,放射性物質(zhì)發(fā)生泄漏根穷。R本人自食惡果不足惜姜骡,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望屿良。 院中可真熱鬧圈澈,春花似錦、人聲如沸尘惧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽喷橙。三九已至啥么,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贰逾,已是汗流浹背悬荣。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留疙剑,地道東北人氯迂。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像言缤,于是被迫代替她去往敵國和親嚼蚀。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容