Scroll to navigation

MONGOC_CLIENT_ENCRYPTION_ENCRYPT_EXPRESSION(3) libmongoc MONGOC_CLIENT_ENCRYPTION_ENCRYPT_EXPRESSION(3)

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);


Added 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

  • client_encryption: A mongoc_client_encryption_t
  • expr: The expression to encrypt.
  • opts: A mongoc_client_encryption_encrypt_opts_t.
  • expr_out: A bson_t for the resulting encrypted expression. expr_out is always initialized (even on failure). Caller must call bson_destroy() to free.
  • error: A bson_error_t set on failure.

RETURNS

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

SEE ALSO:

mongoc_client_encryption_encrypt_opts_t

mongoc_client_enable_auto_encryption()

mongoc_client_decryption_decrypt()



AUTHOR

MongoDB, Inc

COPYRIGHT

2009-present, MongoDB, Inc.

October 9, 2024 1.28.1