Options for collection::mutate_in().
More...
#include <couchbase/mutate_in_options.hxx>
|
struct | built |
| Immutable value object representing consistent options. More...
|
|
Options for collection::mutate_in().
- Since
- 1.0.0
- Committed
- Generally available API and should be preferred in production
◆ access_deleted()
For internal use only: allows access to deleted documents that are in 'tombstone' form.
- Since
- 1.0.0
- Internal
- Internal interface
◆ build()
auto build |
( |
| ) |
const -> built
|
|
inlinenodiscard |
Validates options and returns them as an immutable value.
- Returns
- consistent options as an immutable value
- Exceptions
-
- Since
- 1.0.0
- Internal
- Internal interface
◆ cas()
Specifies a CAS value that will be taken into account on the server side for optimistic concurrency.
The CAS value is an opaque identifier which is associated with a specific state of the document on the server. The CAS value is received on read operations (or after mutations) and can be used during a subsequent mutation to make sure that the document has not been modified in the meantime.
If document on the server has been modified in the meantime the SDK will raise a errc::common::cas_mismatch
. In this case the caller is expected to re-do the whole "fetch-modify-update" cycle again. Please refer to the SDK documentation for more information on CAS mismatches and subsequent retries.
- Parameters
-
cas | the opaque CAS identifier to use for this operation. |
- Returns
- the
mutate_in_options
for chaining purposes.
- Since
- 1.0.0
- Committed
- Generally available API and should be preferred in production
◆ create_as_deleted()
For internal use only: allows creating documents in 'tombstone' form.
- Since
- 1.0.0
- Internal
- Internal interface
◆ expiry() [1/2]
Sets the expiry for the document.
By default the document will never expire.
The duration must be less than 50 years. For expiry further in the future, use expiry(std::chrono::system_clock::time_point)
.
- Parameters
-
duration | the duration after which the document will expire (zero duration means never expire). |
- Returns
- this options class for chaining purposes.
- Since
- 1.0.0
- Committed
- Generally available API and should be preferred in production
◆ expiry() [2/2]
auto expiry |
( |
std::chrono::system_clock::time_point | time_point | ) |
-> mutate_in_options&
|
|
inline |
Sets the expiry for the document.
By default the document will never expire.
- Parameters
-
time_point | the point in time when the document will expire (epoch second zero means never expire). |
- Returns
- this options class for chaining purposes.
- Since
- 1.0.0
- Committed
- Generally available API and should be preferred in production
◆ preserve_expiry()
Specifies whether an existing document's expiry should be preserved.
Defaults to false.
If true, and the document exists, its expiry will not be modified. Otherwise the document's expiry is determined by expiry(std::chrono::seconds)
or expiry(std::chrono::system_clock::time_point)
.
Requires Couchbase Server 7.0 or later.
- Parameters
-
preserve | true to preserve expiry, false to set new expiry |
- Returns
- this options class for chaining purposes.
- Since
- 1.0.0
- Committed
- Generally available API and should be preferred in production
◆ store_semantics()
Changes the storing semantics of the outer/enclosing document.
While each individual mutate_in_specs
describes the semantics of the respective sub-document section, the store_semantics
are applied to the outer enclosing document as a whole. You can think of using the same verb for a store_semantics
aligns with the corresponding full document. So for example a store_semantics::insert
works semantically similar to a collection#insert()
and will fail if the document as a whole already exists.
- Parameters
-
semantics | the store semantics to apply to the document. |
- Returns
- this
mutate_in_options
for chaining purposes.
The documentation for this struct was generated from the following file: