본문 바로가기

Database/mongoDB

$center

※ MongoDB 공식 매뉴얼에 나와있는 $center 부분을 번역해 보도록 하겠습니다. 번역을 안하는게 나을 것 같은 용어들은 한번만 번역하거나 그대로 두었습니다.

 

Definition (정의)

$center

 

$center 연산자는 $geoWithin 쿼리에 원을 지정합니다. 쿼리는 원의 경계 내에 있는 레거시 좌표 쌍을 반환합니다. 연산자는 GeoJSON 객체를 반환하지 않습니다.

 

$center 연산자를 사용하기 위해선, 다음을 포함하는 배열을 지정해야 합니다 :

  • 원 중심점의 그리드 좌표
  • 좌표 시스템에서 사용하는 단위로 측정한 원의 반지름
{
   <location field>: {
      $geoWithin: { $center: [ [ <x>, <y> ] , <radius> ] }
   }
}

 

중요 : 경도와 위도를 사용할 땐, 경도를 먼저 지정하세요.

 

Behavior (동작)

쿼리는 평평한 (평면) geometry 를 사용해 거리를 계산합니다.

 

응용프로그램에서 geospatial index 없이 $center 를 사용할 수 있습니다. 그러나 geospatial index 는 인덱싱되지 않은 것보다 훨씬 빠른 쿼리를 지원합니다.

 

2d geospatial index 만 $center 를 지원합니다.

 

Example (예시)

다음의 예시 쿼리는 중심점이 [ -74 , 40.74 ] 이고 반지름이 10 인 원 내에 있는 좌표를 가진 모든 documents 를 반환합니다 :

 

db.places.find(
   { loc: { $geoWithin: { $center: [ [-74, 40.74], 10 ] } } }
)

 

 

출처 : https://docs.mongodb.com/manual/reference/operator/query/center/

 

$center — MongoDB Manual

Example The following example query returns all documents that have coordinates that exist within the circle centered on [ -74, 40.74 ] and with a radius of 10: db.places.find( { loc: { $geoWithin: { $center: [ [-74, 40.74], 10 ] } } } )

docs.mongodb.com

 

'Database > mongoDB' 카테고리의 다른 글

$geometry  (0) 2020.04.16
$centerSphere  (0) 2020.04.12
$box  (0) 2020.04.12
$nearSphere  (0) 2020.04.09
$near  (0) 2020.04.05