(mongodb >=1.16.0)
MongoDB\Driver\ClientEncryption::encryptExpression — Шифрует совпадение или агрегированное выражение
$expr, ?array $options = null): objectМетод шифрует совпадение или агрегированное выражение для запроса индекса диапазона.
Для выполнения запроса с зашифрованным диапазоном полезной нагрузки
драйвер MongoDB\Driver\Manager конфигурируют
с опцией "autoEncryption".
Опция "bypassQueryAnalysis" автоматического шифрования принимает значение true.
Для опции автоматического шифрования "bypassAutoEncryption" устанавливают значение false.
Замечание:
Модуль пока не поддерживает запросы диапазонов для BSON-полей с типом Decimal128.
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 |
Коэффициент конкуренции для оценки запросов с индексированными
зашифрованными полезными нагрузками.
Опция применяется и может быть указана только тогда, когда
опция algorithm равна
MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED
или
MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.
|
||||||||||||||||||
| keyAltName | string |
Идентифицирует документ коллекции хранилища ключей по keyAltName.
Опция является взаимоисключающей с keyId и требуется ровно один.
|
||||||||||||||||||
| keyId | MongoDB\BSON\Binary |
Идентифицирует ключ данных по _id. Значением является UUID
(двоичный подтип 4). Опция является взаимоисключающей с keyAltName
и требуется ровно один.
|
||||||||||||||||||
| queryType | string |
Тип запроса для оценки запросов с индексированными, зашифрованными
полезными нагрузками. Укажите одну из следующих
констант ClientEncryption:
algorithm равна
MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED
или MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.
|
||||||||||||||||||
| rangeOpts | array |
Опции индекса для шифруемого поля с поддержкой запросов «range».
Параметры, которые приводят следующие абзацы, должны соответствовать значениям, которые установили
в параметре encryptedFields целевой коллекции.
Для BSON-полей с типом double и decimal128 требуется либо установить все опции
min, max и precision, либо все отключить.
|
Метод возвращает зашифрованное выражение в виде объекта.
| Версия | Описание |
|---|---|
| PECL-модуль mongodb 1.20.0 |
В список опций параметра шифрования rangeOpts добавили опцию
индекса диапазона "trimFactor".
Опция диапазона "sparsity" теперь необязательна.
|