我正在尝试使用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})
某处。
但是在哪里?我在哪里可以分配显式索引?
答案 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仪表板上创建空间索引。