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 PHP driver 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:

  • 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_PREVIEW
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_PREVIEW.

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:

  • MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY
  • MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW

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

rangeOpts array

Opções de índice para um campo de criptografia consultável compatível com consultas "rangePreview". 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.
max mixed Obrigatória se precision for definida.
sparsity int Obrigatória.
precision int Opcional. Só pode ser definida para tipos de campo double ou decimal128 BSON.

Valor Retornado

Returns the encrypted expression as an object.

Erros/Exceções

Veja Também

add a note add a note

User Contributed Notes

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