본문 바로가기

Database/mongoDB

$minDistance

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

 

Definition (정의)

$minDistance

 

$near 또는 $nearSphere 쿼리의 결과를 중심점으로부터 적어도 지정한 거리만큼 떨어진 documents 로 필터링합니다.

 

$near 또는 $nearSphere 쿼리가 중심점을 GeoJSON point 로 지정한다면 음수가 아닌 미터 단위의 숫자로 거리를 지정해야 합니다.

 

$nearSphere 쿼리가 중심점을 레거시 좌표 쌍으로 지정한다면 음수가 아닌 라디안 단위의 숫자로 거리를 지정해야 합니다. $near 은 쿼리에서 중심점을 GeoJSON point 로 지정하는 경우 2dsphere index 만 사용할 수 있습니다.

 

Examples (예시)

Use with $near

 

중요 : 위도와 경도 좌표를 지정한다면, 경도 - 위도 순서로 나열하세요 :

  • -180 <= 경도 <= 180
  • -90 <= 위도 <= 90

 

places 콜렉션이 2dsphere index 를 갖는다고 가정합니다.

 

다음의 예시는 지정된 GeoJSON point 로부터 1000 m 이상 5000 m 이하의 거리를 갖는 documents 를 가까운 것에서 먼 순서로 정렬해 반환합니다 :

 

db.places.find(
   {
     location:
       { $near :
          {
            $geometry: { type: "Point",  coordinates: [ -73.9667, 40.78 ] },
            $minDistance: 1000,
            $maxDistance: 5000
          }
       }
   }
)

 

Use with $nearSphere

 

places 콜렉션의 documents 가 location 필드와 2dsphere index 를 갖는다고 가정합니다.

 

다음의 예시는 지정된 점으로부터 location1000 m 이상 5000 m 이하인 데이터를 가까운 것에서 먼 순서로 정렬해 반환합니다 :

 

db.places.find(
   {
     location: {
        $nearSphere: {
           $geometry: {
              type : "Point",
              coordinates : [ -73.9667, 40.78 ]
           },
           $minDistance: 1000,
           $maxDistance: 5000
        }
     }
   }
)

 

 

중심점을 레거시 좌표 쌍으로 지정하는 예시는 이 링크를 보십시오.

 

 

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

 

$minDistance — MongoDB Manual

Important If specifying latitude and longitude coordinates, list the longitude first and then latitude: Valid longitude values are between -180 and 180, both inclusive. Valid latitude values are between -90 and 90, both inclusive. Consider a collection pla

docs.mongodb.com

 

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

$polygon  (0) 2020.04.19
$maxDistance  (0) 2020.04.16
$geometry  (0) 2020.04.16
$centerSphere  (0) 2020.04.12
$center  (0) 2020.04.12