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

$encStrContains (operador de expresión)

Novedad 8.2 en la versión.:

Nota

El operador de agregación $encStrContains 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.

$encStrContains

Devuelve true si un subconjunto de caracteres en un valor de string coincide con los caracteres en la string especificada. El campo consultado debe tener activada la opción de consultas de subcadenas, y la longitud del string del query debe estar entre el mínimo y máximo número de caracteres configurados, inclusive.

Por defecto, las cadenas deben coincidir en mayúsculas y minúsculas y en acentos diacríticos.

  • Establecer caseSensitive en false en el esquema de cifrado para la armonización sin distinguir entre mayúsculas y minúsculas.

  • Establece diacriticSensitive en false en el esquema de cifrado para desestimar las variaciones diacríticas al hacer coincidir.

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

{ $encStrContains: { input: ’$fieldname’, substring<target search key> } }
  • 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.

En mongosh:

db.collection('MyCollection').aggregate([
{
$match: {
$expr: {
$encStrContains: {
input: '$employeeLastName',
substring: 'earso'
}
}
}
}
])

Para hacer coincidir múltiples campos:

db.collection('MyCollection').aggregate([
{
$match: {
$expr: {
$and: [
{
$encStrContains: {
input: '$employeeLastName',
substring: 'earso'
}
},
{
$encStrContains: {
input: '$employeeFirstName',
substring: 'John'
}
}
]
}
}
}
])