Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

$encStrNormalizedEq (operador de expresión)

Novedad 8.2 en la versión.:

Nota

El operador de agregación $encStrNormalizedEq es solo para campos cifrados en colecciones con Queryable Encryption habilitado. Para los campos descifrados, utiliza operadores de Búsqueda de Texto para hacer coincidir subcadenas.

$encStrNormalizedEq

Devuelve true si un valor string normalizado coincide con la versión string normalizada del string especificado. El campo de query debe tener queries de subcadenas habilitadas, y la longitud del string del query debe estar entre el número mínimo y máximo de caracteres configurados, inclusive.

Nota

Este operador debe operar sobre un índice de búsqueda de texto.

La expresión $encStrNormalizedEq tiene la siguiente sintaxis de expresión de operador:

{ $encStrNormalizedEq: { input: ’$fieldname’, string<target search key> } }
  • La sensibilidad a mayúsculas y minúsculas y la sensibilidad a los signos diacríticos se determinan por la configuración del índice de búsqueda de texto asociado.
  • Las búsquedas coinciden con caracteres de espacio en blanco.

  • Los saltos de línea no se consideran al hacer coincidencias.

  • Los delimitadores de tokenización no son compatibles.

Considera el carácter é, que puede representarse de dos formas:

  • Un punto de código, U+00E9 (letra e minúscula latina con acento agudo)

  • Dos puntos de código, U+0065 (letra minúscula e latina) seguidos por U+0301 (acento agudo combinante)

Al comparar estas dos representaciones diferentes del nombre Béatrice:

  • El uso de $eq se evalúa como false, porque las representaciones binarias son diferentes.

  • Usar $encStrNormalizedEq evalúa en true, independientemente de la configuración de diacriticSensitive, porque el operador normaliza ambas cadenas antes de compararlas.

En mongosh:

db.collection('MyCollection').aggregate([
{
$match: {
$expr: {
$encStrNormalizedEq: {
input: '$employeeLastName',
string: 'Béatrice'
}
}
}
}
])