정의
버전 8.2에 추가 되었습니다.
참고
$encStrContains 집계 연산자는 Queryable Encryption 활성화된 컬렉션의 암호화됨 필드에만 사용됩니다. 암호화되지 않은 필드의 경우 텍스트 검색 연산자를 사용하여 하위 문자열을 일치시킵니다.
$encStrContains문자열 값의 문자 하위 집합이 지정된 문자열의 문자와 일치하면
true를 반환합니다. 쿼리된 필드 하위 문자열 쿼리가 활성화되어 있어야 하며 쿼리 문자열의 길이는 구성된 최소 및 최대 문자 수 사이여야 합니다.기본값 으로 문자열은 대소문자 및 발음 구별 부호와 일치해야 합니다.
대소문자를 구분하지 않는 일치를 위해 암호화 스키마
caseSensitive에서 를 로 설정합니다.false암호화 스키마에서
diacriticSensitive를false로 설정하여 일치시킬 때 발음 구별 부호 변형을 무시합니다.
$encStrContains표현식 에는 다음과 같은 연산자 표현식 구문이 있습니다.{ $encStrContains: { input: ’$fieldname’, substring: <target search key> } }
행동
검색은 공백 문자와 일치합니다.
일치시킬 때 줄 바꿈은 고려되지 않습니다.
토큰화 구분자는 지원되지 않습니다.
예시
에서:mongosh
db.collection('MyCollection').aggregate([ { $match: { $expr: { $encStrContains: { input: '$employeeLastName', substring: 'earso' } } } } ])
여러 필드를 일치시키려면 다음을 수행합니다.
db.collection('MyCollection').aggregate([ { $match: { $expr: { $and: [ { $encStrContains: { input: '$employeeLastName', substring: 'earso' } }, { $encStrContains: { input: '$employeeFirstName', substring: 'John' } } ] } } } ])