2012-11-12 76 views
3

我有一個包含超過400,000個文檔的地方的集合。我正在嘗試做geospacial查詢,但他們似乎總是超時。 從MongoLab界面我做一個搜索:MongoLab針對地理空間查詢的MongoDB性能

{ "location": {"$near": [ 38, -122 ] } } 

和頁面只是超時。

也跑這個命令經過我的控制檯:

db.runCommand({geoNear: "places", near: [50,50], num:10}) 

而且它確實成功,但拿了點東西像5分鐘才能完成。

我確實擁有位置上的地理空間索引。

location { "location" : "2d"} 

難道僅僅是不可能做到的地理空間查詢,在這樣的大集合(非常小的畢竟是MongoDB的集合)?

編輯:MongoLab親自就此問題與我聯繫。似乎有一些問題與我的分貝,如許多地方沒有任何協調呢。另外我發現使用maxDistance大大加快了查詢速度,這使我今天早上的問題回到這裏:so question

+1

這應該是一個快速查詢,除非你對內存非常緊張。 'explain'是否顯示你的索引正在被使用? – JohnnyHK

+0

@JohnnyHK解釋不支持任何其他查找查詢。 :( – Iznogood

回答

3

Mongolabs技術人員向我指出,有很多經度latiudes設置爲0,0,而不是使用maxDistance是什麼放緩了事情。添加maxDistance的工作就像一個魅力..

所以再次感謝那個人在Mongolabs。