(mongodb >=1.16.0)
MongoDB\Driver\ClientEncryption::encryptExpression — Шифрует совпадение или агрегированное выражение
$expr
, ?array$options
= null
): objectШифрует совпадение или агрегированное выражение для запроса индекса диапазона.
Для выполнения запроса с зашифрованным диапазоном полезной нагрузки драйвер MongoDB\Driver\Manager должен быть сконфигурирован с опцией "autoEncryption"
. Опция "bypassQueryAnalysis"
автоматического шифрования может иметь значение true
. Опция "bypassAutoEncryption"
автоматического шифрования должна иметь значение false
.
Замечание:
Алгоритм работы с диапазоном является экспериментальным. Он не предназначен для публичного использования.
Драйвер PHP пока не поддерживает запросы диапазонов для типов полей 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 | Опции индекса для шифруемого поля с поддержкой запросов "rangePreview". Приведённые ниже параметры должны соответствовать значениям, установленным в
|
Возвращает зашифрованное выражение в виде объекта.