20#include <bsoncxx/document/view_or_value.hpp>
21#include <bsoncxx/stdx/optional.hpp>
22#include <mongocxx/options/find_one_common_options.hpp>
23#include <mongocxx/stdx.hpp>
25#include <mongocxx/config/prelude.hpp>
28MONGOCXX_INLINE_NAMESPACE_BEGIN
65 void max_time(std::chrono::milliseconds max_time);
74 const stdx::optional<std::chrono::milliseconds>&
max_time()
const;
93 const stdx::optional<bsoncxx::document::view_or_value>&
projection()
const;
137 const stdx::optional<bsoncxx::document::view_or_value>&
sort()
const;
158 const stdx::optional<bool>&
upsert()
const;
161 stdx::optional<bool> _bypass_document_validation;
162 stdx::optional<std::chrono::milliseconds> _max_time;
163 stdx::optional<bsoncxx::document::view_or_value> _projection;
164 stdx::optional<mongocxx::options::return_document> _return_document;
165 stdx::optional<bsoncxx::document::view_or_value> _ordering;
166 stdx::optional<bool> _upsert;
170MONGOCXX_INLINE_NAMESPACE_END
173#include <mongocxx/config/postlude.hpp>
Class representing the optional arguments to a MongoDB find_and_modify update operation.
Definition find_one_and_update.hpp:34
void projection(bsoncxx::document::view_or_value projection)
Sets a projection, which limits the fields to return.
void bypass_document_validation(bool bypass_document_validation)
Whether or not to bypass document validation for this operation.
void sort(bsoncxx::document::view_or_value ordering)
Sets the order by which to search the collection for a matching document.
void max_time(std::chrono::milliseconds max_time)
Sets the maximum amount of time for this operation to run (server-side) in milliseconds.
void return_document(return_document return_document)
Set the desired version of the updated document to return, either the original document,...
const stdx::optional< bsoncxx::document::view_or_value > & sort() const
Gets the current sort ordering.
const stdx::optional< std::chrono::milliseconds > & max_time() const
The current max_time setting.
const stdx::optional< mongocxx::options::return_document > & return_document() const
Which version of the updated document to return.
const stdx::optional< bool > & upsert() const
Gets the current upsert setting.
const stdx::optional< bool > & bypass_document_validation() const
The current setting for bypassing document validation.
void upsert(bool upsert)
Sets the upsert flag on the operation.
const stdx::optional< bsoncxx::document::view_or_value > & projection() const
Gets the current projection for this operation.