Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

substr (집계)

이 페이지의 내용

  • 정의
  • 행동
  • 예시
$substr

버전 3.4부터 사용되지 않음: $substr는 이제 $substrBytes의 별칭입니다.

지정된 인덱스 위치에서 시작하여 지정된 문자 수를 포함하는 문자열의 부분 문자열을 반환합니다. 인덱스는 0을 기준으로 합니다.

$substr 의 구문은 다음과 같습니다:

{ $substr: [ <string>, <start>, <length> ] }

첫 번째 인수가 문자열로 해석되고 두 번째 및 세 번째 인수가 정수로 해석되는 한, 인수는 모든 유효한 표현식 이 될 수 있습니다. 표현식에 대한 자세한 내용은 표현식을 참조하세요 .

<start>가 음수인 경우 $substr은 빈 문자열 ""을 반환합니다.

<length>가 음수인 경우 $substr은 지정된 인덱스에서 시작하여 나머지 문자열을 포함하는 하위 문자열을 반환합니다.

$substr 는 ASCII 문자의 문자열에 대해서만 잘 정의된 동작을 보유합니다.

다음 문서가 포함된 inventory 컬렉션을 생각해 보세요.

{ "_id" : 1, "item" : "ABC1", quarter: "13Q1", "description" : "product 1" }
{ "_id" : 2, "item" : "ABC2", quarter: "13Q4", "description" : "product 2" }
{ "_id" : 3, "item" : "XYZ1", quarter: "14Q2", "description" : null }

다음 작업은 $substr 연산자를 사용하여 quarter 값을 yearSubstringquarterSubstring으로 분리합니다.

db.inventory.aggregate(
[
{
$project:
{
item: 1,
yearSubstring: { $substr: [ "$quarter", 0, 2 ] },
quarterSubtring: { $substr: [ "$quarter", 2, -1 ] }
}
}
]
)

이 연산은 다음과 같은 결과를 반환합니다.

{ "_id" : 1, "item" : "ABC1", "yearSubstring" : "13", "quarterSubtring" : "Q1" }
{ "_id" : 2, "item" : "ABC2", "yearSubstring" : "13", "quarterSubtring" : "Q4" }
{ "_id" : 3, "item" : "XYZ1", "yearSubstring" : "14", "quarterSubtring" : "Q2" }

돌아가기

$strLenCP

이 페이지의 내용