기본 데이터 정렬을 사용하여 뷰 만들기
데이터 정렬을 사용하면 대소문자 및 악센트 표시 규칙과 같이 string 비교가 가능한 언어별 규칙을 지정할 수 있습니다.
이 페이지에서는 뷰의 기본값 데이터 정렬을 지정하는 방법을 설명합니다.
예시
다음 문서를 사용하여 places
collection을 생성합니다.
db.places.insertMany([ { _id: 1, category: "café" }, { _id: 2, category: "cafe" }, { _id: 3, category: "cafE" } ])
다음 작업은 뷰 수준에서 데이터 정렬을 지정하여 뷰를 만듭니다.
db.createView( "placesView", "places", [ { $project: { category: 1 } } ], { collation: { locale: "fr", strength: 1 } } )
다음 작업에서는 뷰의 데이터 정렬을 사용합니다.
db.placesView.countDocuments( { category: "cafe" } )
이 작업은 3
을 반환합니다.
참고
데이터 정렬 동작
뷰를 만들 때 뷰의 기본 데이터 정렬을 지정할 수 있습니다. 데이터 정렬이 지정되지 않은 경우, 뷰의 기본 데이터 정렬은 "simple" 이진 비교 데이터 정렬기입니다. 즉, 뷰는 컬렉션의 기본 데이터 정렬을 상속하지 않습니다.
뷰의 문자열 비교에서는 뷰의 기본 데이터 정렬을 사용합니다. 뷰의 기본 데이터 정렬을 변경하거나 재정의하려는 작업은 오류를 반환하며 실패합니다.
다른 보기에서 보기를 만드는 경우 원본 보기의 데이터 정렬과 다른 데이터 정렬을 지정할 수 없습니다.
$lookup
또는$graphLookup
과 같이 여러 뷰를 포함하는 집계를 수행하는 경우 뷰의 데이터 정렬이 동일해야 합니다.