# mongoc_collection_command()

## Synopsis

    mongoc_cursor_t *
    mongoc_collection_command (mongoc_collection_t       *collection,
                               mongoc_query_flags_t       flags,
                               uint32_t                   skip,
                               uint32_t                   limit,
                               uint32_t                   batch_size,
                               const bson_t              *command,
                               const bson_t              *fields,
                               const mongoc_read_prefs_t *read_prefs)
    BSON_GNUC_WARN_UNUSED_RESULT;

## Parameters

collection | A mongoc_collection_t.
flags | A mongoc_query_flags_t.
skip | A uint32_t with the number of documents to skip or zero.
limit | A uint32_t with the max number of documents to return or zero.
batch_size | A uint32_t with the number of documents in each batch or zero. Default is 100.
command | A bson_t containing the command to execute.
fields | A bson_t containing the fields to return or NULL. Not all commands support this option.
read_prefs | A mongoc_read_prefs_t or NULL.

## Description

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.

## Returns

A lazy mongoc_cursor_t that should be freed with mongoc_cursor_destroy().

Failure to handle the result of this function is a programming error.