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);
}