(mongodb >=1.16.0)
MongoDB\Driver\ClientEncryption::encryptExpression — 加密匹配或聚合表达式
$expr
, ?array $options
= null
): object加密匹配或聚合表达式以查询范围索引。
要使用范围加密的有效负载进行查询,MongoDB\Driver\Manager 必须使用 "autoEncryption"
驱动程序选项进行配置。 "bypassQueryAnalysis"
自动加密选项可以是 true
。 "bypassAutoEncryption"
自动加密选项必须是 false
。
注意:
范围算法仅供实验使用。它不适合公开使用。
该扩展目前不支持 Decimal128 BSON 字段类型的范围查询。
expr
要加密的匹配或聚合表达式。表达式必须使用至少一个 $gt
、$gte
、$lt
或 $lte
运算符。即使只使用单个比较运算符,也需要顶级 $and
运算符。
支持的匹配表达式的示例(适用于查询和 $match
聚合阶段)如下
[ '$and' => [ [ '<field>' => [ '$gt' => '<value1>' ] ], [ '<field>' => [ '$lte' => '<value2>' ] ], ], ]
支持的聚合表达式的示例如下
[ '$and' => [ [ '$gte' => [ '<fieldPath>', '<value1>' ] ], [ '$lt' => [ '<fieldPath>', '<value2>' ] ], ], ]
options
选项 | 类型 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
algorithm | string |
要使用的加密算法。此选项是必需的。指定以下之一 ClientEncryption 常量
|
||||||||||||||||||
contentionFactor | int |
用于评估使用索引加密有效负载的查询的竞争因素。 此选项仅适用于 |
||||||||||||||||||
keyAltName | string |
通过 |
||||||||||||||||||
keyId | MongoDB\BSON\Binary |
通过 |
||||||||||||||||||
queryType | string |
用于评估使用索引加密有效负载的查询的查询类型。指定以下之一 ClientEncryption 常量
此选项仅适用于 |
||||||||||||||||||
rangeOpts | array |
支持“范围”查询的可查询加密字段的索引选项。以下选项必须与目标集合的
|
返回加密后的表达式作为对象。