2011-12-11 1 views
2

here과 같이 mongo geoNear 명령을 사용하고 싶습니다.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에서 레일 3.1을 사용하고 있습니다.

답변

6

정말 너무 빨리 요청했는데 삭제해야하나요? 실제로 색인을 삭제하고 다시 작성하면 문제가 해결되기 때문에 사실 너무 많은 지리 색인이있었습니다.

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

아니면 대답을 받아 들일 수 있으므로 자기 학습자 배지를 얻을 수 있습니다. 롤. : D –

+1

@NoICE :자가 학습자 : "3 점 이상으로 자신의 질문에 답변". –

+0

@muistooshort 예. 그것이 내가하는 것입니다. 물론 투표를하지 않고도 자신의 답변을 수락 할 수 없습니다. –