mongoc_client_encryption_encrypt_expression()#

Synopsis#

bool
mongoc_client_encryption_encrypt_expression (
   mongoc_client_encryption_t *client_encryption,
   const bson_t *expr,
   mongoc_client_encryption_encrypt_opts_t *opts,
   bson_t *expr_out,
   bson_error_t *error);

New in version 1.24.0.

Encrypts a Match Expression or Aggregate Expression to query a range index.

To query with a Range encrypted payload, use a mongoc_client_t configured with mongoc_auto_encryption_opts_t. The mongoc_auto_encryption_opts_t may be configured to bypass query analysis with mongoc_auto_encryption_opts_set_bypass_query_analysis(). The mongoc_auto_encryption_opts_t must not be configured to bypass automatic encryption with mongoc_auto_encryption_opts_set_bypass_auto_encryption().

To query with a Range payload, expr must be one of the following forms:

  1. A Match Expression of the following form:

    // $gt may also be $gte. $lt may also be $lte.
    // Can include one of $gt/$gte/$lt/$lte. It is not required to include both.
    {"$and": [{"<field>": {"$gt": "<value1>"}}, {"<field>": {"$lt": "<value2>" }}]}
    
  2. An Aggregation Expression of this form:

    // $gt may also be $gte. $lt may also be $lte
    // Can include one of $gt/$gte/$lt/$lte. It is not required to include both.
    {"$and": [{"$gt": ["<fieldpath>", "<value1>"]}, {"$lt": ["<fieldpath>", "<value2>"]}]
    

Parameters#

Returns#

Returns true if successful. Returns false and sets error otherwise.