MongoDB\Driver\ClientEncryption::encryptExpression

(mongodb >=1.16.0)

MongoDB\Driver\ClientEncryption::encryptExpressionШифрует совпадение или агрегированное выражение

Описание

final public MongoDB\Driver\ClientEncryption::encryptExpression(array|object $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

Encryption 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, либо все отключить.

Опции индекса диапазона
Опция Тип Описание
min mixed Обязательна, если опцию precision установили. Минимальное BSON-значение в диапазоне.
max mixed Обязательна, если опцию precision установили. Максимальное BSON-значение в диапазоне.
sparsity int Обязательна. Положительное 64-битное целое число.
precision int Небязательна. Положительное 32-битное целое число, которое указывает точность для явного шифрования. Разрешается устанавливать только для BSON-полей с типом double или decimal128.
trimFactor int Обязательна. Положительное 32-битное целое число.

Возвращаемые значения

Возвращает зашифрованное выражение в виде объекта.

Ошибки

Смотрите также

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top