CascadiaPHP 2024

MongoDB\Driver\ClientEncryption::encryptExpression

(mongodb >=1.16.0)

MongoDB\Driver\ClientEncryption::encryptExpressionEncrypts a match or aggregate expression

Descrição

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

Encrypts a match or aggregate expression to query a range index.

To query with a range encrypted payload, the MongoDB\Driver\Manager must be configured with the "autoEncryption" driver option. The "bypassQueryAnalysis" auto encryption option may be true. The "bypassAutoEncryption" auto encryption option must be false.

Nota:

The range algorithm is experimental only. It is not intended for public use.

The extension does not yet support range queries for Decimal128 BSON field types.

Parâmetros

expr

The match or aggregate expression to be encrypted. Expressions must use at least one of the $gt, $gte, $lt, or $lte operators. A top-level $and operator is required, even if only a single comparison operator is used.

An example of a supported match expression (applies to queries and the $match aggregation stage) is as follows:

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

An example of a supported aggregate expression is as follows:

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

Opções de criptografia
Opção Tipo Descrição
algorithm string

O algoritmo de criptografia a ser usado. Esta opção é obrigatória. Especifique uma das seguintes constantes ClientEncryption:

contentionFactor int

O fator de contenção para avaliar consultas com cargas indexadas e criptografadas.

Esta opção só se aplica e só pode ser especificada quando algorithm for MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED ou MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.

keyAltName string

Identifica um documento de coleção de cofres de chaves por keyAltName. Esta opção é mutuamente exclusiva com keyId e exatamente uma é necessária.

keyId MongoDB\BSON\Binary

Identifica uma chave de dados por _id. O valor é um UUID (subtipo binário 4). Esta opção é mutuamente exclusiva com keyAltName e exatamente uma é necessária.

queryType string

O tipo de consulta para avaliar consultas com cargas indexadas e criptografadas. Especifique uma das seguintes constantes ClientEncryption:

Esta opção só se aplica e só pode ser especificada quando algorithm for MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED ou MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.

rangeOpts array

Opções de índice para um campo de criptografia consultável compatível com consultas "range". As opções abaixo devem corresponder aos valores definidos nos encryptedFields da coleção de destino. Para tipos de campo double e decimal128 BSON, min, max e precision devem ser todos definidos ou nenhum definido.

Opções de índice de intervalo
Opção Tipo Descrição
min mixed Obrigatória se precision for definida. O valor BSON mínimo do intervalo.
max mixed Obrigatória se precision for definida. O valor BSON máximo do intervalo.
sparsity int Obrigatória. Inteiro de 64 bits positivo.
precision int Opcional. Inteiro positivo de 32 bits que especifica a precisão a ser usada para criptografia explícita. Só pode ser definida para tipos de campo double ou decimal128 BSON.
trimFactor int Obrigatória. Inteiro positivo de 32 bits.

Valor Retornado

Returns the encrypted expression as an object.

Erros/Exceções

Veja Também

add a note

User Contributed Notes

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