mongoc_collection_find_and_modify (3) - Linux Manuals
mongoc_collection_find_and_modify: Update and return an object.
Command to display mongoc_collection_find_and_modify
manual in Linux: $ man 3 mongoc_collection_find_and_modify
NAME
mongoc_collection_find_and_modify() - Update and return an object.
SYNOPSIS
bool
mongoc_collection_find_and_modify (mongoc_collection_t *collection,
const bson_t *query,
const bson_t *sort,
const bson_t *update,
const bson_t *fields,
bool _remove,
bool upsert,
bool _new,
bson_t *reply,
bson_error_t *error);
PARAMETERS
- collection
-
A
mongoc_collection_t
\&.
- query
-
A
bson_t
containing the query to locate target document(s).
- sort
-
A
bson_t
containing the sort order for
query
\&.
- update
-
A
bson_t
containing an update spec.
- fields
-
An optional
bson_t
containing the fields to return or
NULL
\&.
- _remove
-
If the matching documents should be removed.
- upsert
-
If an upsert should be performed.
- _new
-
If the new version of the document should be returned.
- reply
-
An optional location for a
bson_t
that will be initialized with the result or
NULL
\&.
- error
-
An optional location for a
bson_error_t
or
NULL
\&.
DESCRIPTION
Update and return an object.
This is a thin wrapper around the
findAndModify
command. Either
update
or
_remove
arguments are required.
NOTE
-
As of MongoDB 3.2 and mongoc 1.3.0, the
mongoc_write_concern_t
specified on the
mongoc_collection_t
will be used, if any.
ERRORS
Errors are propagated via the
error
parameter.
RETURNS
Returns either the document before or after modification based on the
_new
parameter.
EXAMPLE
#include <bcon.h>
#include <mongoc.h>
#include <stdio.h>
int
main (int argc,
char *argv[])
{
mongoc_collection_t *collection;
mongoc_client_t *client;
bson_error_t error;
bson_t *query;
bson_t *update;
bson_t reply;
char *str;
mongoc_init ();
client = mongoc_client_new ("mongodb://127.0.0.1:27017/");
collection = mongoc_client_get_collection (client, "test", "test");
/*
* Build our query, {"cmpxchg": 1}
*/
query = BCON_NEW ("cmpxchg", BCON_INT32 (1));
/*
* Build our update. {"$set": {"cmpxchg": 2}}
*/
update = BCON_NEW ("$set", "{", "cmpxchg", BCON_INT32 (2), "}");
/*
* Submit the findAndModify.
*/
if (!mongoc_collection_find_and_modify (collection, query, NULL, update, NULL, false, false, true, &reply, &error)) {
fprintf (stderr, "find_and_modify() failure: %s\n", error.message);
return 1;
}
/*
* Print the result as JSON.
*/
str = bson_as_json (&reply, NULL);
printf ("%s\n", str);
bson_free (str);
/*
* Cleanup.
*/
bson_destroy (query);
bson_destroy (update);
bson_destroy (&reply);
mongoc_collection_destroy (collection);
mongoc_client_destroy (client);
mongoc_cleanup ();
return 0;
}
COLOPHON
This page is part of MongoDB C Driver.
Please report any bugs at
https://jira.mongodb.org/browse/CDRIVER.
Pages related to mongoc_collection_find_and_modify
- mongoc_collection_find_and_modify_with_opts (3) - Update and return an object.
- mongoc_collection_find_indexes (3) - None
- mongoc_collection_find (3) - This function shall execute a query on the underlying collection.
- mongoc_collection_aggregate (3) - This function shall execute an aggregation query on the underlying 'collection'. The bson 'pipeline' is not validated, simply passed along as appropriate to the server. As such, compatibility and errors should be validated in the appropriate server documentation.
- mongoc_collection_command (3) - This function shall execute a command on a collection. This is performed lazily and therefore requires calling mongoc_cursor_next() on the resulting cursor structure. The cursor should be freed with mongoc_cursor_destroy() when no longer in use.
- mongoc_collection_command_simple (3) - This is a simplified version of mongoc_collection_command() that returns the first result document in reply. The parameter reply is initialized even upon failure to simplify memory management.
- mongoc_collection_copy (3) - Performs a deep copy of the collection struct and its configuration. Useful if you intend to call mongoc_collection_set_write_concern, mongoc_collection_set_read_prefs, or mongoc_collection_set_read_concern, and want to preserve an unaltered copy of the struct.
- mongoc_collection_count (3) - This function shall execute a count query on the underlying 'collection'. The bson 'query' is not validated, simply passed along as appropriate to the server. As such, compatibility and errors should be validated in the appropriate server documentation.
- mongoc_collection_count_with_opts (3) - This function shall execute a count query on the underlying 'collection'. The bson 'query' is not validated, simply passed along as appropriate to the server. As such, compatibility and errors should be validated in the appropriate server documentation.
- mongoc_collection_create_bulk_operation (3) - This function shall begin a new bulk operation. After creating this you may call various functions such as mongoc_bulk_operation_update(), mongoc_bulk_operation_insert() and others.
- mongoc_collection_create_index (3) - This function will request the creation of a new index.
- mongoc_collection_delete (3) - This function shall delete documents in the given collection that match selector. The bson selector is not validated, simply passed along as appropriate to the server. As such, compatibility and errors should be validated in the appropriate server documentation.
- mongoc_collection_destroy (3) - This function shall destroy a mongoc_collection_t and its associated resources.
- mongoc_collection_drop (3) - This function requests that a collection be dropped, including all indexes associated with the collection.
- mongoc_collection_drop_index (3) - This function requests than an index on collection be dropped. In the event of an error it returns false and error is set.
- mongoc_collection_ensure_index (3) - None
- mongoc_collection_get_last_error (3) - The mongoc_collection_get_last_error() function shall return getLastError document, according to write_concern on last executed command for current collection instance.
- mongoc_collection_get_name (3) - Fetches the name of collection.
- mongoc_collection_get_read_concern (3) - Fetches the default read concern to be used on read operations originating from collection.
- mongoc_collection_get_read_prefs (3) - Fetches the default read preferences to use for collection. Operations without specified read-preferences will default to this.
- mongoc_collection_get_write_concern (3) - Fetches the default write concern to be used on write operations originating from collection and not specifying a write concern.
- mongoc_collection_insert (3) - This function shall insert document into collection.