(mongodb >=1.16.0)
MongoDB\Driver\ClientEncryption::encryptExpression — Encrypts a match or aggregate expression
$expr, ?array $options = null): objectEncrypts 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.
expr$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>' ] ],
],
]
[
'$and' => [
[ '$gte' => [ '<fieldPath>', '<value1>' ] ],
[ '$lt' => [ '<fieldPath>', '<value2>' ] ],
],
]
options
| Option | Type | Description | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| algorithm | string |
The encryption algorithm to be used. This option is required.
Specify one of the following
ClientEncryption constants:
|
||||||||||||||||||
| contentionFactor | int |
The contention factor for evaluating queries with indexed, encrypted
payloads.
This option only applies and may only be specified when
algorithm is
MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED
or
MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.
|
||||||||||||||||||
| keyAltName | string |
Identifies a key vault collection document by
keyAltName. This option is mutually exclusive
with keyId and exactly one is required.
|
||||||||||||||||||
| keyId | MongoDB\BSON\Binary |
Identifies a data key by _id. The value is a UUID
(binary subtype 4). This option is mutually exclusive with
keyAltName and exactly one is required.
|
||||||||||||||||||
| queryType | string |
The query type for evaluating queries with indexed, encrypted
payloads. Specify one of the following
ClientEncryption constants:
algorithm is
MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED
or MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.
|
||||||||||||||||||
| rangeOpts | array |
Index options for a queryable encryption field supporting "range"
queries. The options below must match the values set in the
encryptedFields of the target collection. For
double and decimal128 BSON field types, min,
max, and precision must all be
set, or all be unset.
|
Returns the encrypted expression as an object.
| Version | Description |
|---|---|
| PECL mongodb 1.20.0 |
Added the "trimFactor" range option. The
"sparsity" range option is now optional.
|