MongoDB\Driver\ClientEncryption::encryptExpression
(mongodb >=1.16.0)
MongoDB\Driver\ClientEncryption::encryptExpression — Criptografa uma expressão de correspondência ou de agregação
Descrição
$expr
, ?array $options
= null
): objectCriptografa 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:
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
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
forMongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED
ouMongoDB\Driver\ClientEncryption::ALGORITHM_RANGE
.keyAltName string Identifica um documento de coleção de cofres de chaves por
keyAltName
. Esta opção é mutuamente exclusiva comkeyId
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 comkeyAltName
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:
MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY
MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE
Esta opção só se aplica e só pode ser especificada quando
algorithm
forMongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED
ouMongoDB\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
eprecision
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
- Lança uma exceção MongoDB\Driver\Exception\InvalidArgumentException em caso de erro ao analisar argumentos.
- Lança MongoDB\Driver\Exception\EncryptionException se ocorrer um erro ao criptografar a expressão
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
- MongoDB\Driver\Manager::__construct() - Cria um novo gerenciador MongoDB
- MongoDB\Driver\ClientEncryption::encrypt() - Criptografa um valor