mongoc_collection_find()
Synopsis
mongoc_cursor_t * mongoc_collection_find (mongoc_collection_t *collection, mongoc_query_flags_t flags, uint32_t skip, uint32_t limit, uint32_t batch_size, const bson_t *query, const bson_t *fields, const mongoc_read_prefs_t *read_prefs) BSON_GNUC_WARN_UNUSED_RESULT;
Parameters
collection |
|
flags |
|
skip |
A uint32_t of number of documents to skip or 0. |
limit |
A uint32_t of max number of documents to return or 0. |
batch_size |
A uint32_t containing batch size of document result sets or 0 for default. Default is 100. |
query |
A bson_t containing the query and options to execute. |
fields |
A bson_t containing fields to return or NULL. |
read_prefs |
A mongoc_read_prefs_t or NULL for default read preferences. |
Description
This function shall execute a query on the underlying collection.
If no options are necessary, query can simply contain a query such as {a:1}. If you would like to specify options such as a sort order, the query must be placed inside of {"$query": {}} as specified by the server documentation. See the example below for how to properly specify additional options to query.
Returns
A newly allocated mongoc_cursor_t that should be freed with mongoc_cursor_destroy() when no longer in use. If invalid parameters are supplied, NULL may be returned.
Failure to handle the result of this function is a programming error.
Example
Print All Documents in a Collection
#include <mongoc.h> #include <stdio.h> static void print_all_documents (mongoc_collection_t *collection) { mongoc_cursor_t *cursor; bson_error_t error; const bson_t *doc; char *str; bson_t *query; query = BCON_NEW ("$query", "{", "foo", BCON_INT32 (1), "}", "$orderby": "{", "foo", BCON_INT32 (-1), "}"); cursor = mongoc_collection_find (collection, MONGOC_QUERY_NONE, 0, 0, 0, query, NULL, NULL); while (mongoc_cursor_more (cursor) && mongoc_cursor_next (cursor, &doc)) { str = bson_as_json (doc, NULL); printf ("%s\n", str); bson_free (str); } if (mongoc_cursor_error (cursor, &error)) { fprintf (stderr, "An error occurred: %s\n", error.message); } mongoc_cursor_destroy (cursor); bson_destroy (query); }