MongoDB\Driver\ClientEncryption::encryptExpression

(mongodb >=1.16.0)

MongoDB\Driver\ClientEncryption::encryptExpressionCifra una expresión de coincidencia o agregación

Descripción

final public 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 útil cifrada por rango, la opción del controlador MongoDB\Driver\Manager debe ser configurada con la opción del controlador "autoEncryption". La opción de cifrado automático "bypassQueryAnalysis" puede ser true. La opción de cifrado automático "bypassAutoEncryption" debe ser false.

Nota:

La extensión aún no admite consultas de rango para los tipos de campo BSON Decimal128.

Parámetros

expr

La expresión de coincidencia o agregación a cifrar. Las expresiones deben utilizar al menos uno de los operadores $gt, $gte, $lt o $lte. Se utiliza un único operador de comparación.

Un ejemplo de expresión de coincidencia admitida (aplicable a consultas y a la etapa de agregación $match) es el siguiente:

[
    '$and' => [
        [ '<field>' => [ '$gt'  => '<value1>' ] ],
        [ '<field>' => [ '$lte' => '<value2>' ] ],
    ],
]

Un ejemplo de expresión de agregación admitida es el siguiente:

[
    '$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 :

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 :

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

Errores/Excepciones

  • Lanza una excepción MongoDB\Driver\InvalidArgumentException en caso de error durante el análisis de un argumento.
  • Lanza una MongoDB\Driver\Exception\EncryptionException si ocurre un error durante el cifrado de la expresión

Historial de cambios

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

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top