PHP 8.1.28 Released!

MongoDB\Driver\ClientEncryption::encryptExpression

(mongodb >=1.16.0)

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

Description

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.

Note:

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.

Liste de paramètres

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

Options de chiffrement
Option Type Description
algorithm string

L'algorithme de chiffrement à utiliser. Cette option est requise. Spécifiez l'une des constantes suivantes de ClientEncryption :

contentionFactor int

Le facteur de contention pour évaluer les requêtes avec des charges utiles chiffrées indexées.

Cette option s'applique uniquement et ne peut être spécifiée que lorsque algorithm est MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED ou MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW.

keyAltName string

Identifie un document de collection de coffre à clés par keyAltName. Cette option est mutuellement exclusive avec keyId et l'une des deux est requise.

keyId MongoDB\BSON\Binary

Identifie une clé de données par _id. La valeur est un UUID (sous-type binaire 4). Cette option est mutuellement exclusive avec keyAltName et l'une des deux est requise.

queryType string

Le type de requête pour évaluer les requêtes avec des charges utiles chiffrées indexées. Spécifiez l'une des constantes suivantes de ClientEncryption :

Cette option s'applique uniquement et ne peut être spécifiée que lorsque algorithm est MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED ou MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW.

rangeOpts array

Options d'index pour un champ de chiffrement interrogeable prenant en charge les requêtes "rangePreview". Les options ci-dessous doivent correspondre aux valeurs définies dans encryptedFields de la collection cible. Pour les types de champ BSON double et decimal128, min, max et precision doivent être tous définis ou tous non définis.

Options d'index de plage
Option Type Description
min mixed Requis si precision est défini.
max mixed Requis si precision est défini.
sparsity int Requis.
precision int Facultatif. Ne peut être défini que pour les types de champ BSON double ou decimal128.

Valeurs de retour

Returns the encrypted expression as an object.

Erreurs / Exceptions

  • Lance une exception MongoDB\Driver\InvalidArgumentException lors d'une erreur survenue pendant l'analyse d'un argument.
  • Throws MongoDB\Driver\Exception\EncryptionException if an error occurs while encrypting the expression

Voir aussi

add a note

User Contributed Notes

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