MongoDB\Driver\ClientEncryption::encryptExpression

(mongodb >=1.16.0)

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

Описание

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

Encryption options
ОпцияТипОписание
algorithmstring

Алгоритм шифрования, который будет использоваться. Опция является обязательной. Укажите одну из следующих констант ClientEncryption:

contentionFactorint

Коэффициент сдерживания при оценке запросов с индексированными, зашифрованными полезными нагрузками.

Опция применяется и может быть указана только тогда, когда опция algorithm равна MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED или MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW.

keyAltNamestring

Идентифицирует документ коллекции хранилища ключей по keyAltName. Опция является взаимоисключающей с keyId и требуется ровно один.

keyIdMongoDB\BSON\Binary

Идентифицирует ключ данных по _id. Значением является UUID (двоичный подтип 4). Опция является взаимоисключающей с keyAltName и требуется ровно один.

queryTypestring

Тип запроса для оценки запросов с индексированными, зашифрованными полезными нагрузками. Укажите одну из следующих констант ClientEncryption:

Опция применяется и может быть указана только тогда, когда опция algorithm равна MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED или MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW.

rangeOptsarray

Опции индекса для шифруемого поля с поддержкой запросов "rangePreview". Приведённые ниже параметры должны соответствовать значениям, установленным в encryptedFields целевой коллекции. Для полей типа double и decimal128 BSON, min, max и precision должны быть либо все установлены, либо все должны отсутствовать.

Опции индекса диапазона
ОпцияТипОписание
minmixedОбязательное, если установлено значение precision.
maxmixedОбязательное, если установлено значение precision.
sparsityintОбязательное.
precisionintНеобязательное. Может быть установлено только для типов полей BSON double или decimal128.

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

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

Ошибки

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

To Top