Cifra una expresión de coincidencia o agregación

# MongoDB\Driver\ClientEncryption::encryptExpression

(mongodb >=1.16.0)

MongoDB\Driver\ClientEncryption::encryptExpression — Cifra una expresión de coincidencia o agregación

### Descripción

final public function MongoDB\Driver\ClientEncryption::encryptExpression(array|object `$expr`, ?array `$options` = `null`): object

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`.

> Nota: 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' => [
              [ '<field>' => [ '$gt'  => '<value1>' ] ],
              [ '<field>' => [ '$lte' => '<value2>' ] ],
          ],
      ]

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

      [
          '$and' => [
              [ '$gte' => [ '<fieldPath>', '<value1>' ] ],
              [ '$lt'  => [ '<fieldPath>', '<value2>' ] ],
          ],
      ]

`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\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.

### Ver también

- MongoDB\Driver\Manager::__construct() - Crea un nuevo Manager MongoDB
- MongoDB\Driver\ClientEncryption::encrypt() - Cifra un valor

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open