트림(집계)
정의
$trim
null을 포함한 공백 문자 또는 문자열의 시작과 끝에서 지정된 문자를 제거합니다.
$trim
의 구문은 다음과 같습니다:{ $trim: { input: <string>, chars: <string> } } $trim
는 다음 필드가 포함된 문서를 사용합니다.필드설명input
다듬을 string 입니다. 인수는 로 해석되는 모든 유효한 표현식 일 수 string 있습니다. 표현식에 대한 자세한 내용은 표현식 연산자를 참조하세요.chars
행동
기본적으로
$trim
은 다음과 같은 null 문자를 포함한 공백 문자를 제거합니다.예시결과{ $trim: { input: " \n good bye \t " } }
"good bye"
chars
필드를 사용하여 다듬을 기본 문자를 재정의할 수 있습니다.예를 들어 다음은 입력의 시작과 끝에서 모든
g
및e
를 자릅니다. 입력이 공백으로 시작하므로 두 문자 모두 문자열 시작 부분에서 잘릴 수 없습니다.예시결과{ $trim: { input: " ggggoodbyeeeee", chars: "ge" } }
" ggggoodby"
잘라낼 기본 문자를 재정의하는 경우
chars
필드에 잘라낼 공백 문자를 명시적으로 포함할 수 있습니다.예를 들어 다음은 입력의 시작과 끝에서 공백
g
,e
을 잘라냅니다.예시결과{ $trim: { input: " ggggoodbyeeeee", chars: " ge" } }
"oodby"
공백 문자
기본적으로 $trim
은 다음과 같은 null 문자 포함한 공백을 제거합니다.
Unicode | 탈출 시퀀스 | 설명 |
---|---|---|
U+0000 | '0' | 널 문자 |
U+0020 | ' ' | 공간 |
U+0009 | '' | Horizontal tab |
U+000A | 'n' | 줄 바꿈/새 줄 |
U+000B | 'v' | 세로 탭 |
U+000C | 'f' | 양식 피드 |
U+000D | 'r' | 캐리지 리턴 |
U+00A0 | 끊어지지 않는 공간 | |
U+1680 | 오햄 스페이스 마크 | |
U+2000 | En quad | |
U+2001 | Em quad | |
U+2002 | En space | |
U+2003 | Em space | |
U+2004 | Three-per-em space | |
U+2005 | Four-per-em space | |
U+2006 | Six-per-em space | |
U+2007 | 그림 공간 | |
U+2008 | 구두점 공간 | |
U+2009 | 좁은 공간 | |
U+200A | 헤어 공간 |
예시
다음 문서가 포함된 inventory
컬렉션을 생각해 보세요.
{ "_id" : 1, "item" : "ABC1", quarter: "13Q1", "description" : " product 1" } { "_id" : 2, "item" : "ABC2", quarter: "13Q4", "description" : "product 2 \n The product is in stock. \n\n " } { "_id" : 3, "item" : "XYZ1", quarter: "14Q2", "description" : null }
다음 작업은 $trim
연산자를 사용하여 description
필드에서 선행 및 후행 공백을 제거합니다.
db.inventory.aggregate([ { $project: { item: 1, description: { $trim: { input: "$description" } } } } ])
이 연산은 다음과 같은 결과를 반환합니다.
{ "_id" : 1, "item" : "ABC1", "description" : "product 1" } { "_id" : 3, "item" : "XYZ1", "description" : null } { "_id" : 2, "item" : "ABC2", "description" : "product 2 \n The product is in stock." }