문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ / / / /

평평한 표면의 도형 내 위치 쿼리

이 페이지의 내용

  • 이 작업에 대하여
  • 시작하기 전에
  • 절차
  • 자세히 알아보기

평평한 표면에서 지정된 도형 내의 위치 데이터를 쿼리하려면 $geoWithin 연산자를 사용합니다. 평평한 표면에 표시되는 데이터에 $geoWithin 를 사용하려면 다음 구문을 사용하세요.

db.<collection>.find( {
<location field> : {
$geoWithin : {
<shape operator> : <coordinates>
}
}
} )

쿼리에 대해 다음 값을 바꿉니다.

필드
설명
<collection>
쿼리 collection입니다.
<location field>
위치 데이터가 포함된 필드입니다. 평평한 표면에 대한 쿼리의 경우 데이터를 legacy coordinate pairs로 저장해야 합니다.
<shape operator>

쿼리할 도형입니다. 다음 모양 중 하나를 지정할 수 있습니다.

이 페이지의 예에서는 $box 연산자를 사용합니다. 다른 형태를 사용하는 쿼리의 예를 보려면 해당 연산자 페이지를 참조하세요.

<coordinates>

쿼리할 도형의 가장자리를 정의하는 좌표입니다. $box 연산자와 함께 사용할 경우 좌표는 사각형의 왼쪽 하단 및 오른쪽 상단 모서리를 나타냅니다.

경도와 위도 좌표를 지정할 때는 경도를 먼저 입력한 다음 위도를 입력합니다.

  • 유효한 경도 값은 -180~180입니다(둘 모두 포함).

  • 유효한 위도 값은 -90~90입니다(둘 모두 포함).

$geoWithin 지리 공간적 공간 인덱스가 필요하지 않습니다. 그러나 지리 공간적 공간 인덱스는 쿼리 성능을 향상시킵니다.

contacts 컬렉션을 생성합니다.

db.contacts.insertMany( [
{
name: "Evander Otylia",
phone: "202-555-0193",
address: [ 55.5, 42.3 ]
},
{
name: "Georgine Lestaw",
phone: "714-555-0107",
address: [ -74, 44.74 ]
}
] )

address 필드에는 레거시 좌표 쌍이 포함되어 있습니다.

을(를) 사용하여 $geoWithin collection을 쿼리합니다.contacts 다음 $geoWithin 쿼리는 $box 연산자를 사용하여 지정된 사각형 내에 나타나는 문서를 반환합니다.

db.contacts.find( {
address: {
$geoWithin: {
$box: [ [ 49, 40 ], [ 60, 60 ] ]
}
}
} )

출력:

[
{
_id: ObjectId("647e4e496cdaf4dc323ec92a"),
name: 'Evander Otylia',
phone: '202-555-0193',
address: [ 55.5, 42.3 ]
}
]

$box 연산자의 값은 쿼리할 사각형의 왼쪽 하단 및 오른쪽 상단 모서리를 나타냅니다.

이전에 표시된 $geoWithin 쿼리는 다음과 같은 꼭지점이 있는 사각형 내에 있는 문서를 반환합니다.

  • [ 49, 40 ]

  • [ 49, 60 ]

  • [ 60, 60 ]

  • [ 60, 40 ]

$geoWithin 연산자를 다른 도형과 함께 사용하는 방법을 알아보려면 다음 페이지를 참조하세요.

← 평평한 표면의 한 점 근처 위치 쿼리