헤이스택 인덱스 쿼리
중요
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 } )
참고
헤이스택 인덱스는 특정 위치 에서 가장 가까운 문서의 전체 목록을 쿼리하는 데 적합하지 않습니다. 가장 가까운 문서는 버킷 크기에 비해 더 멀리 떨어져 있을 수 있습니다.