정의
버전 8.2에 추가 되었습니다.
참고
$encStrNormalizedEq
집계 연산자는 Queryable Encryption 활성화된 컬렉션의 암호화됨 필드에만 사용됩니다. 암호화되지 않은 필드의 경우 텍스트 검색 연산자를 사용하여 하위 문자열을 일치시킵니다.
$encStrNormalizedEq
true
정규화된 문자열 값이 지정된 문자열의 정규화된 문자열 버전과 일치하는 경우 를 반환합니다. 쿼리된 필드 하위 문자열 쿼리가 활성화되어 있어야 하며 쿼리 문자열의 길이는 구성된 최소 및 최대 문자 수 사이여야 합니다.참고
이 연산자 텍스트 검색 인덱스 에서 작동해야 합니다.
$encStrNormalizedEq
표현식의 연산자 표현식 구문은 다음과 같습니다.{ $encStrNormalizedEq: <string> }
행동
대소문자 구분과 분음 부호 구분은 관련 텍스트 검색 인덱스 의 구성에 따라 결정됩니다.
검색은 공백 문자와 일치합니다.
일치시킬 때 줄 바꿈은 고려되지 않습니다.
토큰화 구분자는 지원되지 않습니다.
예시
두 가지 방법으로 표현할 수 있는 문자 é를 예로 들어 보겠습니다.
하나의 코드 점,
U+00E9
(예문자가 포함된 라틴 소문자 E)두 개의 코드 포인트,
U+0065
(라틴 소문자 E) 뒤에U+0301
(급성 악센트 결합)
Béatrice라는 이름에 대한 이 두 가지 표현을 비교하면 다음과 같습니다.
$eq
를 사용하면 이진 표현이 다르기 때문에false
로 평가됩니다.연산자 두 문자열을 비교하기 전에 정규화하기 때문에
diacriticSensitive
설정에 관계없이$encStrNormalizedEq
를 사용하면true
로 평가됩니다.
에서:mongosh
db.collection('MyCollection', function (err, collection) { collection.aggregate([ $match: { 'employeeLastName': { $encStrNormalizedEq: 'Béatrice' } }])