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