Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ /

헤이스택 인덱스 쿼리

중요

MongoDB 5.0에서 제거됨

MongoDB 5.0 은 더 이상 사용되지 않는 geoHaystack 인덱스 및 geoSearch 명령을 제거합니다. 대신 2d 인덱스$geoNear 또는 지원되는 지리 공간적 쿼리 연산자 중 하나와 함께 사용합니다.

MongoDB 인스턴스를 5.0으로 업그레이드하고 featureCompatibilityVersion을 5.0 로 설정하면 기존의 모든 geoHaystack 인덱스가 삭제됩니다.

헤이스택 인덱스는 작은 영역에 대한 결과를 반환하도록 최적화된 특수 2d 지리 공간적 인덱스입니다. haystack 인덱스를 만들려면 Haystack 인덱스 만들기를 참조하세요.

haystack 인덱스 를 쿼리 하려면 geoSearch 명령을 사용합니다. 좌표와 추가 필드 를 모두 geoSearch 에 지정해야 합니다. 예를 예시 , 예시 점 근처의 type 필드 에서 값이 restaurant 인 모든 문서를 반환하려면 명령은 다음과 유사합니다.

db.runCommand( { geoSearch : "places" ,
search : { type: "restaurant" } ,
near : [-74, 40.74] ,
maxDistance : 10 } )

참고

헤이스택 인덱스는 특정 위치 에서 가장 가까운 문서의 전체 목록을 쿼리하는 데 적합하지 않습니다. 가장 가까운 문서는 버킷 크기에 비해 더 멀리 떨어져 있을 수 있습니다.

참고

구형 쿼리 작업 은 현재 헤이스택 인덱스에서 지원되지 않습니다.

find() 메서드가 haystack 인덱스에 액세스할 수 없습니다.

돌아가기

Haystack 인덱스 생성