(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 range algorithm is experimental only. It is not intended for public use.
The extension does not yet support range queries for Decimal128 BSON field types.
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
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
|
||||||||||||||||||
keyAltName | string |
Identifies a key vault collection document by
|
||||||||||||||||||
keyId | MongoDB\BSON\Binary |
Identifies a data key by |
||||||||||||||||||
queryType | string |
The query type for evaluating queries with indexed, encrypted payloads. Specify one of the following ClientEncryption constants:
This option only applies and may only be specified when
|
||||||||||||||||||
rangeOpts | array |
Index options for a queryable encryption field supporting "range"
queries. The options below must match the values set in the
|
Returns the encrypted expression as an object.