使用Deployd进行地理空间查询

时间:2012-10-15 04:10:31

标签: javascript mongodb geospatial

我正在尝试使用Deployd运行地理空间设置。

关于GET这样的事情

/beam?{"loc": {"$near": [51,-114], "$limit": 10}}

我收到错误

{
"message": "can't find special index: 2d for: { loc: { $near: [ 51, -114 ], $limit: 10 } }",
"status": 400
}

AFAIK,我需要把它 foo.ensureIndex({loc:"2d", affiliation:1})某处。

但是在哪里?我在哪里可以分配显式索引?

2 个答案:

答案 0 :(得分:1)

这个问题已经过了一年多了,然而,对于那些仍在解决这个问题的人,请执行以下操作:

collection / resource = beam

property / field = location

从mongodb shell创建属性的地理索引 -

db.*beam*.ensureIndex( { *location* : “2dsphere” } )

位置字段中添加一些地理位置数据 -

{"type": "Point", "coordinates": [ -105, 39 ] }

查询 -

/resource_name?{"location":{"$near":{"$maxDistance":100000,"$geometry":{"type":"Point","coordinates":[-105,39]}}}}

答案 1 :(得分:0)

当前版本的deployd 0.6.9似乎不支持从仪表板创建索引,您必须在mongodb上使用shell连接,或者如果您使用mongodb mongodb提供商,则可以在mongohq仪表板上创建空间索引。