Documentación offline PHP master

MongoDB\Driver\ClientEncryption::encryptExpression

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

MongoDB\Driver\ClientEncryption::encryptExpression

Cifra una expresión de coincidencia o agregación

Descripción#

final public MongoDB\Driver\ClientEncryption::encryptExpression(array $expr, [array $options]): object
```php

Cifra una expresión de coincidencia o agregación para consultar un índice de rango.

Para consultar con una carga cifrada de rango, el `MongoDB\Driver\Manager` debe estar configurado con la opción del controlador `"autoEncryption"`. La opción de auto-cifrado `"bypassQueryAnalysis"` puede ser `true`. La opción de auto-cifrado `"bypassAutoEncryption"` debe ser `false`.

> [!NOTE]
> La extensión aún no admite consultas de rango para tipos de campo BSON Decimal128.

## Parámetros

`expr`  
La expresión de coincidencia o agregación a cifrar. Las expresiones deben usar al menos uno de los operadores `$gt`, `$gte`, `$lt` o `$lte`. Se requiere un operador `$and` de nivel superior, incluso si solo se usa un único operador de comparación.

A continuación se muestra un ejemplo de una expresión de coincidencia admitida (se aplica a consultas y a la etapa de agregación `$match`):

[ '$and' => [ [ '' => [ '$gt' => '' ] ], [ '' => [ '$lte' => '' ] ], ], ]

A continuación se muestra un ejemplo de una expresión de agregación admitida:

[ '$and' => [ [ '$gte' => [ '', '' ] ], [ '$lt' => [ '', '' ] ], ], ]

```php

options

Opciones de cifrado
Opción Tipo Descripción
algorithm string

El algoritmo de cifrado a utilizar. Esta opción es requerida. Especifique una de las siguientes constantes de ClientEncryption:

MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC, MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM, MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED, MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED, MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE
contentionFactor int

El factor de contención para evaluar las consultas con cargas útiles cifradas indexadas.

Esta opción se aplica únicamente y solo puede ser especificada cuando algorithm es MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED o MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.

keyAltName string

Identifica un documento de colección de cofre de claves por keyAltName. Esta opción es mutuamente exclusiva con keyId y una de las dos es requerida.

keyId MongoDB\BSON\Binary

Identifica una clave de datos por _id. El valor es un UUID (subtipo binario 4). Esta opción es mutuamente exclusiva con keyAltName y una de las dos es requerida.

queryType string

El tipo de consulta para evaluar las consultas con cargas útiles cifradas indexadas. Especifique una de las siguientes constantes de ClientEncryption:

MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY, MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE

Esta opción se aplica únicamente y solo puede ser especificada cuando algorithm es MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED o MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.

rangeOpts array

Opciones de índice para un campo de cifrado interrogeable que soporta consultas "range". Las opciones a continuación deben coincidir con los valores definidos en encryptedFields de la colección objetivo. Para los tipos de campo BSON double y decimal128, min, max y precision deben ser todos definidos o todos no definidos.

Opciones de índice de rango
Opción Tipo Descripción
min mixed Requisito si precision está definido. El valor BSON mínimo del rango.
max mixed Requisito si precision está definido. El valor BSON máximo del rango.
sparsity int Opcional. Entero positivo de 64 bits.
precision int Opcional. Entero positivo de 32 bits que especifica la precisión a utilizar para el cifrado explícito. Solo puede ser definido para los tipos de campo BSON double o decimal128.
trimFactor int Opcional. Entero positivo de 32 bits.

Valores devueltos#

Devuelve la expresión cifrada como un objeto.

Errores/Excepciones#

Lanza una excepción

MongoDB\Driver\Exception\InvalidArgumentException

en caso de error durante el análisis de un argumento.

Lanza

MongoDB\Driver\Exception\EncryptionException

si ocurre un error al cifrar la expresión

Historial de cambios#

Versión Descripción
PECL mongodb 1.20.0 Se añadió la opción de rango "trimFactor". La opción de rango "sparsity" ahora es opcional.

Véase también#

MongoDB\Driver\Manager::__construct

MongoDB\Driver\ClientEncryption::encrypt