使用mongomapper执行服务器runCommand geoNear

las*_*igh 2 ruby-on-rails mongodb mongomapper

我非常想使用这里讨论的mongo geoNear命令.

这是我在rails控制台中输入的命令,附带错误消息.

MongoMapper.database.command({ 'geoNear' => "trips", 'near' => [45,45]})
Mongo::OperationFailure: Database command 'geoNear' failed: 
  (errmsg: 'more than 1 geo indexes :('; ok: '0.0').
Run Code Online (Sandbox Code Playgroud)

我无法理解错误信息,据说不可能有超过1个地理索引,我确信我只创建了一个.

根据这个stackoverflow问题,我相信我正确地写了查询.有谁知道这个错误信息?我将如何破坏和重新创建索引?

我使用rails 3.1与mongodb v2.0和mongo ruby​​ gem v1.5.1.

las*_*igh 6

我真的很快就问过这个问题,也许我应该删除它?事实上,实际上有太多的地理索引,因为删除索引并重新创建它可以解决问题.

MongoMapper.database.collection('trips').drop_indexes
Trip.ensure_index [[:route, '2d']]
Run Code Online (Sandbox Code Playgroud)