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

Encryption options
Option Type Description
algorithm string

The encryption algorithm to be used. This option is required. Specify one of the following ClientEncryption constants:

contentionFactor int

The contention factor for evaluating queries with indexed, encrypted payloads.

This option only applies and may only be specified when algorithm is MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED or MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.

keyAltName string

Identifies a key vault collection document by keyAltName. This option is mutually exclusive with keyId and exactly one is required.

keyId MongoDB\BSON\Binary

Identifies a data key by _id. The value is a UUID (binary subtype 4). This option is mutually exclusive with keyAltName and exactly one is required.

queryType string

The query type for evaluating queries with indexed, encrypted payloads. Specify one of the following ClientEncryption constants:

This option only applies and may only be specified when algorithm is MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED or MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.

rangeOpts array

Index options for a queryable encryption field supporting "range" queries. The options below must match the values set in the encryptedFields of the target collection. For double and decimal128 BSON field types, min, max, and precision must all be set, or all be unset.

Range index options
Option Type Description
min mixed Required if precision is set. The minimum BSON value of the range.
max mixed Required if precision is set. The maximum BSON value of the range.
sparsity int Optional. Positive 64-bit integer.
precision int Optional. Positive 32-bit integer specifying precision to use for explicit encryption. May only be set for double or decimal128 BSON field types.
trimFactor int Optional. Positive 32-bit integer.

Valores devueltos

Devuelve la expresión cifrada como objeto.

Errores/Excepciones

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