2011-12-11 33 views
2

我非常希望使用mongo geoNear命令,如here所述。使用mongomapper執行服務器runCommand geoNear

下面是我在我的導航控制檯中輸入的命令以及伴隨的錯誤消息。

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和mongo ruby​​ gem v1.5.1的rails 3.1。

回答

6

我真的問過早了,也許我應該刪除它?不知何故,實際上有太多的地理索引,因爲刪除索引並重新創建它可以解決問題。

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

或者你可以接受你的答案,從而獲得你的自學者徽章。大聲笑。 :D –

+1

@NoICE:自學者:「以3分或更高的分數回答你自己的問題」。 –

+0

@ muistooshort是的。這就是我所需要的。 (當然,你不能接受你自己的答案,沒有任何投票,謝謝澄清。) –