我非常想使用所讨论的mongo geoNear命令here。
这是我在rails控制台中输入的命令,附带错误消息。
MongoMapper.database.command({ 'geoNear' => "trips", 'near' => [45,45]})
Mongo::OperationFailure: Database command 'geoNear' failed:
(errmsg: 'more than 1 geo indexes :('; ok: '0.0').
我无法理解错误信息,据说不可能有超过1个地理索引,我确信我只创建了一个。
基于此stackoverflow question我相信我正确地写了一下查询。有谁知道这个错误信息?我将如何破坏和重新创建索引?
我使用的是带有mongodb v2.0的rails 3.1和mongo ruby gem v1.5.1。
答案 0 :(得分:6)
我过早地问过这个问题,也许我应该删除它?事实上,实际上有太多的地理索引,因为删除索引并重新创建它可以解决问题。
MongoMapper.database.collection('trips').drop_indexes
Trip.ensure_index [[:route, '2d']]