2014-07-17 3 views
0

레일 4와 함께 Mongoid 3.1.6을 사용하고 있습니다. 특정 좌표와 가까운 '모든 물체'를 찾아야합니다. 검색 결과 각각에 대해 검색 공동 오 도로 (co-orodinate)와의 거리를 표시해야합니다. Mongoid DocumentationMongoid로 동적 속성 'geo_near_distance'에 액세스하는 방법

...에 따르면 $ geoNear 쿼리의 각 인스턴스 문서는 한 문서가 메모리에 로 사용할 수 있습니다 특별한 동적 속성 geo_near_distance을 얻을 것이다.

하지만 컨트롤러 내부의 Object.geo_near_distance

내 쿼리에 액세스 할 수 없습니다입니다 ...

@objects = Object.geo_near([-118.4451, 34.0633]).max_distance(10) 

편집 # 1

일부 자세한 내용

사용이 경우, MongoDB의 다음 쿼리

db.runCommand({ geoNear: "objects", 
      near: [ -73.95269,40.77578], 
      spherical: true 
      }) 

100 개의 요소로 구성된 배열을 봅니다. 각 요소에는 2 개의 속성이 있습니다. 첫 번째 'dis'는 '0.000123'과 같은 값을 가지며 (참고 : Km 또는 Mile에는 없습니다) 두 번째 속성은 결과 자체입니다.

는 지금은 ...

@objects = Object.geo_near([-118.4451, 34.0633]).spherical.max_distance(10) 

여전히 결과에 Mongoid하는 쿼리를 변경했습니다. 미리 도움을 주셔서 감사합니다.

답변

1

2 년 이상 후, 문제의 티켓은 여전히 ​​MongoDB를의 JIRA 추적기에 열려 있습니다.

빠른 수정이 속성에 액세스하는 대신 점 표기법의 해시 표기법을 사용하지 않는 :

Object['geo_near_distance'] 

이 mongoid에서 테스트

대신

Object.geo_near_distance 

사용 6

+0

나는 이것을 위해 모든 것을 찾고 있었다. – Dex

관련 문제