php8.5
Home/ Manual/ driver / clientencryption/ MongoDB\Driver\ClientEncryption::encryptExpression

MongoDB\Driver\ClientEncryption::encryptExpression

PHP function Edit on GitHub ✎

(mongodb >=1.16.0)

Encrypts a match or aggregate expression

Description

MongoDB\Driver\ClientEncryption::encryptExpression(array|object $expr, array|null $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 extension does not yet support range queries for Decimal128 BSON field types.

Parameters

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:

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

An example of a supported aggregate expression is as follows:

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

Return Values

Returns the encrypted expression as an object.

Errors/Exceptions

  • Throws MongoDB\Driver\Exception\EncryptionException if an error occurs while encrypting the expression

Changelog

VersionDescription
PECL mongodb 1.20.0Added the "trimFactor" range option. The "sparsity" range option is now optional.

See Also

Source: reference/mongodb/mongodb/driver/clientencryption/encryptexpression.xml · from the official PHP manual (php/doc-en)