MongoDB\Driver\ClientEncryption::encryptExpression

(mongodb >=1.16.0)

MongoDB\Driver\ClientEncryption::encryptExpression — Chiffre une expression de correspondance ou d'agrĂ©gation

Description

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

Chiffre une expression de correspondance ou d'agrégation pour interroger un index de plage.

Pour interroger avec une charge utile chiffrĂ©e par plage, l'option de pilote MongoDB\Driver\Manager doit ĂȘtre configurĂ©e avec l'option de pilote "autoEncryption". L'option de chiffrement automatique "bypassQueryAnalysis" peut ĂȘtre true. L'option de chiffrement automatique "bypassAutoEncryption" doit ĂȘtre false.

Note: L'extension ne prend pas encore en charge les requĂȘtes de plage pour les types de champ BSON Decimal128.

Liste de paramĂštres

expr
L'expression de correspondance ou d'agrĂ©gation Ă  chiffrer. Les expressions doivent utiliser au moins un des opĂ©rateurs $gt, $gte, $lt ou $lte. Un opĂ©rateur $and de premier niveau est requis, mĂȘme si un seul opĂ©rateur de comparaison est utilisĂ©. Un exemple d'expression de correspondance prise en charge (s'applique aux requĂȘtes et Ă  l'Ă©tape d'agrĂ©gation $match) est le suivant :
[
    '$and' => [
        [ '<field>' => [ '$gt'  => '<value1>' ] ],
        [ '<field>' => [ '$lte' => '<value2>' ] ],
    ],
]
Un exemple d'expression d'agrégation prise en charge est le suivant :
[
    '$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.
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.
rangeOpts array Options d'index pour un champ de chiffrement interrogeable prenant en charge les requĂȘtes "range". 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. La valeur BSON minimale de la plage.
max mixed Requis si precision est défini. La valeur BSON maximale de la plage.
sparsity int Optionnel.Entier positif sur 64 bits.
precision int Facultatif. Entier positif sur 32 bits spĂ©cifiant la prĂ©cision Ă  utiliser pour le chiffrement explicite. Peut uniquement ĂȘtre dĂ©fini pour les types de champ BSON double ou decimal128.
trimFactor int Optionnel. Entier positif sur 32 bits.

Valeurs de retour

Renvoie l'expression chiffrée en tant qu'objet.

Erreurs / Exceptions

  • Lance une exception MongoDB\Driver\InvalidArgumentException lors d'une erreur survenue pendant l'analyse d'un argument.
  • Lance une MongoDB\Driver\Exception\EncryptionException si une erreur se produit lors du chiffrement de l'expression

Historique

Version Description
PECL mongodb 1.20.0 Ajouté l'option de plage "trimFactor". L'option de plage "sparsity" est désormais optionnelle.

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.