MongoDB\Driver\ClientEncryption::encryptExpression

(mongodb >=1.16.0)

MongoDB\Driver\ClientEncryption::encryptExpressionEncrypts a match or aggregate expression

Descripción

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

Encrypts a match or aggregate expression to query a range index.

To query with a range encrypted payload, the MongoDB\Driver\Manager must be configured with the "autoEncryption" driver option. The "bypassQueryAnalysis" auto encryption option may be true. The "bypassAutoEncryption" auto encryption option must be false.

Nota:

The range algorithm is experimental only. It is not intended for public use.

The PHP driver does not yet support range queries for decimal128 BSON field types.

Parámetros

expr

The match or aggregate expression to be encrypted. Expressions must use at least one of the $gt, $gte, $lt, or $lte operators. A top-level $and operator is required, even if only a single comparison operator is used.

An example of a supported match expression (applies to queries and the $match aggregation stage) is as follows:

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

An example of a supported aggregate expression is as follows:

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

Encryption options
OptionTypeDescription
algorithmstring

The encryption algorithm to be used. This option is required. Specify one of the following ClientEncryption constants:

contentionFactorint

The contention factor for evaluating queries with indexed, encrypted payloads.

This option only applies and may only be specified when algorithm is MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED or MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW.

keyAltNamestring

Identifies a key vault collection document by keyAltName. This option is mutually exclusive with keyId and exactly one is required.

keyIdMongoDB\BSON\Binary

Identifies a data key by _id. The value is a UUID (binary subtype 4). This option is mutually exclusive with keyAltName and exactly one is required.

queryTypestring

The query type for evaluating queries with indexed, encrypted payloads. Specify one of the following ClientEncryption constants:

This option only applies and may only be specified when algorithm is MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED or MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW.

rangeOptsarray

Index options for a queryable encryption field supporting "rangePreview" queries. The options below must match the values set in the encryptedFields of the target collection. For double and decimal128 BSON field types, min, max, and precision must all be set, or all be unset.

Range index options
OptionTypeDescription
minmixedRequired if precision is set.
maxmixedRequired if precision is set.
sparsityintRequired.
precisionintOptional. May only be set for double or decimal128 BSON field types.

Valores devueltos

Returns the encrypted expression as an object.

Errores/Excepciones

Ver también

To Top