Definição
Novidades na versão 8.2.
Observação
O operador de agregação $encStrContains é somente para campos criptografados em coleções com Queryable Encryption ativada. Para campos não criptografados, use os operadores Pesquisa de texto para corresponder às substrings.
$encStrContainsRetorna
truese um subconjunto de caracteres em um valor de string corresponder aos caracteres na string especificada. O campo consultado deve ter queries de substring ativadas, e o comprimento da string de query deve estar entre o número mínimo e máximo configurado de caracteres, inclusive.Por padrão, as strings devem corresponder a maiúsculas e minúsculas e diacríticos.
Defina
caseSensitivecomofalseno esquema de criptografia para correspondência insensível a maiúsculas e minúsculas.Defina
diacriticSensitivecomofalseno esquema de criptografia para desconsiderar as variações diacríticas na correspondência.
A expressão
$encStrContainstem a seguinte sintaxe de expressão do operador:{ $encStrContains: { input: ’$fieldname’, substring: <target search key> } }
Comportamento
As pesquisas correspondem a caracteres de espaço em branco.
As quebras de linha não são consideradas na correspondência.
Delimitadores de tokenização não são compatíveis.
Exemplo
Em mongosh:
db.collection('MyCollection').aggregate([ { $match: { $expr: { $encStrContains: { input: '$employeeLastName', substring: 'earso' } } } } ])
Para corresponder a vários campos:
db.collection('MyCollection').aggregate([ { $match: { $expr: { $and: [ { $encStrContains: { input: '$employeeLastName', substring: 'earso' } }, { $encStrContains: { input: '$employeeFirstName', substring: 'John' } } ] } } } ])