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.
$encStrContains
Retorna
true
se 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
caseSensitive
comofalse
no esquema de criptografia para correspondência insensível a maiúsculas e minúsculas.Defina
diacriticSensitive
comofalse
no esquema de criptografia para desconsiderar as variações diacríticas na correspondência.
A expressão
$encStrContains
tem a seguinte sintaxe de expressão do operador:{ $encStrContains: <string> }
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', function (err, collection) { collection.aggregate([ $match: { 'employeeLastName': { $encStrContains: 'earso' } }])
Para corresponder a vários campos:
db.collection('MyCollection', function (err, collection) { collection.aggregate([ $match: { 'employeeLastName': { $encStrContains: 'earso' }, 'employeeLastName': { $encStrEndsWith: 'wil' } }])