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

Зауваження :

Алгоритм роботи з діапазоном є експериментальним. Він призначений для громадського використання.

Драйвер PHP поки не підтримує запити діапазонів типів полів decimal128 BSON.

Список параметрів

expr

Відповідність чи агрегований вираз, який необхідно зашифрувати. У виразах повинен використовуватися хоча б один із операторів $gt $gte $ltили$lte. Оператор верхнього рівня $and необхідний, навіть якщо використовується лише один оператор порівняння.

Приклад підтримуваного виразу відповідності (застосовується для запитів та етапу агрегації $match) виглядає наступним чином:

[ '$and' => [ [ '' => [ '$gt' => '' ] ] [ '' => [ '$lte' => '' ] ] ],]

Приклад агрегованого виразу, що підтримується, виглядає наступним чином:

[ '$and' => [ [ '$gte' => [ '', '' ] ] [ '$lt' => [ '', '' ] ] ],]

options

Encryption options

ОпцияТипОпис
algorithmstring
Алгоритм шифрування, який використовуватиметься. Опція є обов'язковою. Вкажіть одну з наступних констант ClientEncryption :
  • MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC
  • MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM
  • MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED
  • MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED
  • MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW

| | contentionFactor | int |

Коефіцієнт стримування в оцінці запитів з індексованими, зашифрованими корисними навантаженнями.

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

| | keyAltName | string |

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

| | keyId |MongoDB\BSON\Binary

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

| | queryType | string |

Тип запиту для оцінки запитів із індексованими, зашифрованими корисними навантаженнями. Вкажіть одну з наступних констант ClientEncryption :

  • MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY
  • MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW

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

| | rangeOpts | array |

Опції індексу для поля, що шифрується, з підтримкою запитів "rangePreview". Наведені нижче параметри повинні відповідати значенням, встановленим у encryptedFields цільової колекції. Для полів типу double та decimal128 BSON, min maxиprecision повинні бути або всі встановлені, або всі повинні бути відсутніми.

Опції індексу діапазону

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

Значення, що повертаються

Повертає зашифрований вираз у вигляді об'єкта.

Помилки

Дивіться також