MongoDB\Driver\ClientEncryption::encryptExpression
(mongodb >=1.16.0)
Encrypts a match or aggregate expression
Description
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.
The extension does not yet support range queries for Decimal128 BSON field types.
Parameters
exprThe match or aggregate expression to be encrypted. Expressions must use at least one of the
$gt,$gte,$lt, or$lteoperators. A top-level$andoperator is required, even if only a single comparison operator is used.An example of a supported match expression (applies to queries and the
$matchaggregation 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\EncryptionExceptionif an error occurs while encrypting the expression
Changelog
| Version | Description |
|---|---|
| PECL mongodb 1.20.0 | Added the "trimFactor" range option. The "sparsity" range option is now optional. |