Collation allows you to specify language-specific rules for string comparison, such as rules for lettercase and accent marks.
제한 사항
numericOrdering 매개변수가 true(으)로 설정된 경우 다음 제한 사항이 적용됩니다.
음수가 아닌 연속적인 정수 하위 문자열만 비교에서 고려됩니다.
numericOrdering은 다음을 지원하지 않습니다.+-지수
숫자 또는 십진수(Nd) 범주의 유니코드 코드 포인트만 숫자로 처리됩니다.
숫자 길이가 254자를 초과하는 경우 초과 문자는 별도의 숫자로 처리됩니다.
절차
locale의 값을 선택합니다.
You are required to select a locale from the MongoDB supported languages.
All other collation options parameters are optional. For descriptions of the fields, see Collation.
예시
다음과 같은 문자열 번호와 십진수 값을 가진 컬렉션을 고해 보겠습니다.
[ { "n": "1" }, { "n": "2" }, { "n": "-2.1" }, { "n": "2.0" }, { "n": "2.20" }, { "n": "10"}, { "n": "20" }, { "n": "20.1" }, { "n": "-10" }, { "n": "3" } ]
다음 쿼리는 numericOrdering 매개변수가 포함된 데이터 정렬 문서를 사용합니다.
db.c.find( { }, { _id: 0 } ).sort( { n: 1 } ).collation( { locale: 'en_US', numericOrdering: true } )
Compass에서 문서를 쿼리하는 방법에 대한 자세한 내용은 데이터 쿼리를 참조하세요.
이 연산은 다음과 같은 결과를 반환합니다.
[ { "n": "-2.1" }, { "n": "-10" }, { "n": "1" }, { "n": "2" }, { "n": "2.0" } { "n": "2.20" }, { "n": "3" }, { "n": "10" }, { "n": "20" }, {"n": "20.1" } ]
numericOrdering: true문자열 값을 숫자 값인 것처럼 오름차순으로 정렬합니다.두 개의 음수 값
-2.1및-10은 지원되지 않는-문자가 있기 때문에 예상된 정렬 순서로 정렬되지 않습니다.