2012-11-12 40 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。