2dsphere 인덱스는 지구와 같은 구에 대한 지리 공간적 쿼리를 지원합니다. 예를 들어 2dsphere 인덱스는 다음을 수행할 수 있습니다.
지정된 영역 내의 점을 결정합니다.
특정 지점에 대한 근접성을 계산합니다.
좌표 쿼리에서 정확히 일치하는 항목을 반환합니다.
2dsphere 인덱스 를 생성하려면 db.collection.createIndex() 메서드를 사용하고 "2dsphere" string 을 인덱스 유형으로 지정합니다.
db.<collection>.createIndex( { <location field> : "2dsphere" } )
<location field> 의 값은 다음 중 하나여야 합니다.
시작하기 전에
이러한 문서가 포함된 places 컬렉션을 만듭니다.
db.places.insertMany( [ { loc: { type: "Point", coordinates: [ -73.97, 40.77 ] }, name: "Central Park", category : "Park" }, { loc: { type: "Point", coordinates: [ -73.88, 40.78 ] }, name: "La Guardia Airport", category: "Airport" }, { loc: { type: "Point", coordinates: [ -1.83, 51.18 ] }, name: "Stonehenge", category : "Monument" } ] )
loc 필드의 값은 GeoJSON 포인트입니다.
절차
다음 작업은 위치 필드 loc 에 2dsphere 인덱스를 생성합니다.
db.places.createIndex( { loc : "2dsphere" } )
다음 단계
2dsphere 인덱스를 생성한 후 지리 공간적 쿼리에 인덱스를 사용할 수 있습니다. 자세히 알아보려면 2dsphere 인덱스 쿼리를 참조하세요.