$polygon
정의
$polygon
에 대한지리 공간적
$geoWithin
쿼리 에 대한 다각형 을 지정합니다. legacy coordinate pairs 쿼리 는 다각형 경계 내에 있는 쌍을 반환합니다. 연산자 는 GeoJSON 객체를 쿼리 하지 않습니다 .다각형을 정의하려면 좌표점 배열을 지정합니다.
{ <location field>: { $geoWithin: { $polygon: [ [ <x1> , <y1> ], [ <x2> , <y2> ], [ <x3> , <y3> ], ... ] } } } 마지막 점은 항상 첫 번째 점과 암시적으로 연결됩니다. 원하는 만큼 점(예: 측면)을 지정할 수 있습니다.
중요
경도와 위도를 사용하는 경우 경도를 먼저 지정합니다.
행동
$polygon
연산자는 평면형 기하 도형을 사용하여 거리를 계산합니다.
애플리케이션은 지리 공간적 인덱스 없이 $polygon
를 사용할 수 있습니다. 하지만 지리 공간적 인덱스는 인덱싱되지 않은 경우보다 훨씬 빠른 쿼리를 지원합니다.
예시
다음 쿼리는 [ 0 , 0 ]
, [ 3 , 6 ]
, [ 6 , 0 ]
으로 정의된 다각형 내에 존재하는 좌표가 있는 모든 문서를 반환합니다.
db.places.find( { loc: { $geoWithin: { $polygon: [ [ 0 , 0 ], [ 3 , 6 ], [ 6 , 0 ] ] } } } )