트림(집계)
정의
행동
기본적으로
$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 문자 포함한 공백을 제거합니다.
유니코드 | 탈출 시퀀스 | 설명 |
---|---|---|
U+0000 | '0 ' | 널 문자 |
U+0020 | '' | 공간 |
U+0009 | '' | 수평 탭 |
U+000A | 'n' | 줄 바꿈/새 줄 |
U+000B | 'v' | 세로 탭 |
U+000C | 'f' | 양식 피드 |
U+000D | 'r' | 캐리지 리턴 |
U+00A0 | 끊어지지 않는 공간 | |
U+1680 | 오햄 스페이스 마크 | |
U+2000 | En 쿼드 | |
U+2001 | 엠 쿼드 | |
U+2002 | En space | |
U+2003 | Em 공간 | |
U+2004 | 엠당 3개의 공간 | |
U+2005 | 엠당 4개 공간 | |
U+2006 | 6개 항목당 공간 | |
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." }