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

$range (애그리게이션)

이 페이지의 내용

  • 정의
  • 행동
  • 예제
$range

생성된 숫자 시퀀스를 요소로 하는 배열을 반환합니다. $range 는 지정된 시작 번호에서 시작 번호를 지정된 단계 값만큼 연속적으로 증가시켜 끝점을 포함하지 않는 범위까지 수열을 생성합니다.

$range 에는 다음과 같은 연산자 표현식 구문이 있습니다.

{ $range: [ <start>, <end>, <non-zero step> ] }
피연산자
설명
<start>
시퀀스의 시작을 지정하는 정수입니다. 정수로 해석되는 모든 유효한 표현식일 수 있습니다.
<end>
시퀀스의 배타적 상한을 지정하는 정수입니다. 정수로 해석되는 모든 유효한 표현식일 수 있습니다.
<non-zero step>
선택 사항. 증분 값을 지정하는 정수입니다. 0이 아닌 정수로 해석되는 모든 유효한 표현식일 수 있습니다. 기본값은 1입니다.

0}<start><end> 인수는 필수이며 정수여야 합니다. 2}<non-zero step> 인수는 선택 1 사항이며 생략하면 기본값은 입니다.

예제
결과
{ $range: [ 0, 10, 2 ] }
[ 0, 2, 4, 6, 8 ]
{ $range: [ 10, 0, -2 ] }
[ 10, 8, 6, 4, 2 ]
{ $range: [ 0, 10, -2 ] }
[ ]
{ $range: [ 0, 5 ] }
[ 0, 1, 2, 3, 4 ]

다음 예에서는 샌프란시스코와의 거리 (마일) 와 함께 도시를 나열하는 distances 컬렉션을 사용합니다.

0} 컬렉션의 distances 문서입니다:

db.distances.insertMany([
{ _id: 0, city: "San Jose", distance: 42 },
{ _id: 1, city: "Sacramento", distance: 88 },
{ _id: 2, city: "Reno", distance: 218 },
{ _id: 3, city: "Los Angeles", distance: 383 }
]);

한 자전거 운전자가 샌프란시스코에서 컬렉션에 나열된 각 도시로 라이딩을 계획하고 있으며 25마일마다 정차하여 휴식을 취하고 싶어 합니다. 다음 집계 파이프라인 작업은 $range 연산자를 사용하여 각 이동의 중지 지점을 결정합니다.

db.distances.aggregate([{
$project: {
_id: 0,
city: 1,
"Rest stops": { $range: [ 0, "$distance", 25 ] }
}
}])

이 연산은 다음을 반환합니다:

{ "city" : "San Jose", "Rest stops" : [ 0, 25 ] }
{ "city" : "Sacramento", "Rest stops" : [ 0, 25, 50, 75 ] }
{ "city" : "Reno", "Rest stops" : [ 0, 25, 50, 75, 100, 125, 150, 175, 200 ] }
{ "city" : "Los Angeles", "Rest stops" : [ 0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, 375 ] }

돌아가기

$rand

다음

$rank

이 페이지의 내용