我非常想使用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').

我无法理解这个错误信息,应该不可能有超过一个地理索引,我确信我只创建了一个。
基于这一点,我相信我正确地回答了这个问题。有人明白那个错误信息吗?我该如何销毁和重新创建索引?
我在MongoDB v2.0和MongoRubyGemv1.5.1中使用Rails3.1。

最佳答案

我真的问得太早了,也许我应该删除它?不知怎么的,实际上地理索引太多了,因为删除并重新创建索引解决了问题。

MongoMapper.database.collection('trips').drop_indexes
Trip.ensure_index [[:route, '2d']]

关于ruby-on-rails - 使用mongomapper执行服务器runCommand geoNear,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8461751/

10-13 22:30