MongoDB\Driver\ClientEncryption::encryptExpression

(mongodb >=1.16.0)

MongoDB\Driver\ClientEncryption::encryptExpressionCriptografa uma expressão de correspondência ou de agregação

Descrição

final public MongoDB\Driver\ClientEncryption::encryptExpression(array|object $expr, ?array $options = null): object

Criptografa uma expressão de correspondência ou de agregação para consultar um índice de intervalo.

Para consultar com uma carga criptografada por intervalo, o MongoDB\Driver\Manager deve ser configurado com a opção de driver "autoEncryption". A opção de criptografia automática "bypassQueryAnalysis" pode ser true. A opção de criptografia automática "bypassAutoEncryption" deve ser false.

Note:

A extensão ainda não oferece suporte a consultas de intervalo para tipos de campo Decimal128 BSON.

Parâmetros

expr

A expressão de correspondência ou agregação a ser criptografada. As expressões devem usar pelo menos um dos operadores $gt, $gte, $lt ou $lte. Um operador $and de nível superior é necessário, mesmo que apenas um único operador de comparação seja usado.

Um exemplo de expressão de correspondência suportada (aplica-se a consultas e ao estágio de agregação $match) é o seguinte:

[
    '$and' => [
        [ '<field>' => [ '$gt'  => '<value1>' ] ],
        [ '<field>' => [ '$lte' => '<value2>' ] ],
    ],
]

Um exemplo de expressão de agregação suportada é o seguinte:

[
    '$and' => [
        [ '$gte' => [ '<fieldPath>', '<value1>' ] ],
        [ '$lt'  => [ '<fieldPath>', '<value2>' ] ],
    ],
]
options

Opções de criptografia
Opção Tipo Descrição
algorithm string

O algoritmo de criptografia a ser usado. Esta opção é obrigatória. Especifique uma das seguintes constantes ClientEncryption:

contentionFactor int

O fator de contenção para avaliar consultas com cargas indexadas e criptografadas.

Esta opção só se aplica e só pode ser especificada quando algorithm for MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED ou MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.

keyAltName string

Identifica um documento de coleção de cofres de chaves por keyAltName. Esta opção é mutuamente exclusiva com keyId e exatamente uma é necessária.

keyId MongoDB\BSON\Binary

Identifica uma chave de dados por _id. O valor é um UUID (subtipo binário 4). Esta opção é mutuamente exclusiva com keyAltName e exatamente uma é necessária.

queryType string

O tipo de consulta para avaliar consultas com cargas indexadas e criptografadas. Especifique uma das seguintes constantes ClientEncryption:

Esta opção só se aplica e só pode ser especificada quando algorithm for MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED ou MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.

rangeOpts array

Opções de índice para um campo de criptografia consultável compatível com consultas "range". As opções abaixo devem corresponder aos valores definidos nos encryptedFields da coleção de destino. Para tipos de campo double e decimal128 BSON, min, max e precision devem ser todos definidos ou nenhum definido.

Opções de índice de intervalo
Opção Tipo Descrição
min mixed Obrigatória se precision for definida. O valor BSON mínimo do intervalo.
max mixed Obrigatória se precision for definida. O valor BSON máximo do intervalo.
sparsity int Opcional. Inteiro de 64 bits positivo.
precision int Opcional. Inteiro positivo de 32 bits que especifica a precisão a ser usada para criptografia explícita. Só pode ser definida para tipos de campo double ou decimal128 BSON.
trimFactor int Opcional. Inteiro positivo de 32 bits.

Valor Retornado

Retorna a expressão criptografada como um objeto.

Erros/Exceções

Registro de Alterações

Versão Descrição
PECL mongodb 1.20.0 Adiciona a opção de intervalo "trimFactor" A opção de intervalo "sparsity" agora é opcional.

Veja Também