Definição
Novidades na versão 8.2.
Observação
O operador de agregação $encStrNormalizedEq é 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.
$encStrNormalizedEqRetorna
truese um valor de string normalizado corresponder à versão de string normalizada da 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.Observação
Este operador deve operar em um índice de pesquisa de texto .
A expressão
$encStrNormalizedEqtem a seguinte sintaxe de expressão do operador:{ $encStrNormalizedEq: <string> }
Comportamento
A sensibilidade a maiúsculas e minúsculas e a sensibilidade a diacríticos são determinadas pela configuração do índice de pesquisa de texto associado.
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
Considere o caractere é, que pode ser representado de duas maneiras:
Um ponto de código,
U+00E9(letra minúscula Latin E com agudo)Dois pontos de código,
U+0065(letra Latin minúscula E) seguido porU+0301(combinando acento agudo)
Ao comparar estas duas representações diferentes do nome Béatrice:
O uso de
$eqavalia parafalse, porque as representações binárias são diferentes.O uso de
$encStrNormalizedEqavalia comotrue, independentemente da configuraçãodiacriticSensitive, porque o operador normaliza ambas as strings antes de compará-las.
Em mongosh:
db.collection('MyCollection', function (err, collection) { collection.aggregate([ $match: { 'employeeLastName': { $encStrNormalizedEq: 'Béatrice' } }])