Provided by: libmongoc-doc_2.2.1-1_all 

SYNOPSIS
bool
mongoc_collection_find_and_modify_with_opts (
mongoc_collection_t *collection,
const bson_t *query,
const mongoc_find_and_modify_opts_t *opts,
bson_t *reply,
bson_error_t *error);
PARAMETERS
• collection: A mongoc_collection_t <>.
• query: A bson_t <https://www.mongoc.org/libbson/current/bson_t.html> containing the query to locate
target document(s).
• opts: A find and modify options <>. Must not be NULL.
• reply: A maybe-NULL pointer to overwritable storage <https://www.mongodb.com/docs/languages/c/c-driver/
current/libbson/guides/lifetimes/#overwritable-storage> for a bson_t <https://www.mongoc.org/libbson/
current/bson_t.html> to contain the results.
• error: An optional location for a bson_error_t <> or NULL.
DESCRIPTION
Update and return an object.
reply is always initialized, and must be freed with bson_destroy() <https://www.mongoc.org/libbson/
current/bson_destroy.html>.
If an unacknowledged write concern is set (through mongoc_find_and_modify_opts_append() <>), the output
reply is always an empty document.
On success, the output reply contains the full server reply to the findAndModify command. See the MongoDB
Manual page for findAndModify <https://www.mongodb.com/docs/manual/reference/command/findAndModify/#
output> for the expected server reply.
ERRORS
Errors are propagated via the error parameter.
RETURNS
Returns true if successful. Returns false and sets error if there are invalid arguments or a server or
network error.
A write concern timeout or write concern error is considered a failure.
EXAMPLE
See the example code for mongoc_find_and_modify_opts_t <#
mongoc-collection-find-and-modify-with-opts-example>.
Author
MongoDB, Inc
Copyright
2009-present, MongoDB, Inc.
2.2.1 Dec 11, 2025 MONGOC_COLLECTION_FIND_AND_MODIFY_WITH_OPTS(3)