MongoDB\Driver\ClientEncryption::encryptExpression

(mongodb >=1.16.0)

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

Description

finalpublicMongoDB\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
OptionTypeDescription
algorithmstring

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

contentionFactorint

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.

keyAltNamestring

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.

keyIdMongoDB\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.

queryTypestring

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.

rangeOptsarray

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
OptionTypeDescription
minmixedRequis si precision est défini.
maxmixedRequis si precision est défini.
sparsityintRequis.
precisionintFacultatif. 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

To Top