0

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

在这样的事情上

/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})放在某个地方。

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

4

2 回答 2

1

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

收藏/资源=

属性/字段=位置

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

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

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

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

查询它——

/resource_name?{"location":{"$near":{"$maxDistance":100000,"$geometry":{"type":"Point","coordinates":[-105,39]}}}}
于 2013-10-08T14:43:59.263 回答
0

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

于 2012-11-19T11:19:13.000 回答