---
name: "mongoc_collection_command_simple"
section: "3"
platform: "linux"
package: "libmongoc-doc"
version: "1.30.4-1+deb13u3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mongoc_collection_command_simple"
---

# mongoc\_collection\_command\_simple(3)

## SYNOPSIS

```
bool
mongoc_collection_command_simple (mongoc_collection_t *collection,
                                  const bson_t *command,
                                  const mongoc_read_prefs_t *read_prefs,
                                  bson_t *reply,
                                  bson_error_t *error);
```

## PARAMETERS

- •

  **collection**: A *mongoc\_collection\_t*.

- •

  **command**: A *bson\_t* containing the command to execute.

- •

  **read\_prefs**: An optional *mongoc\_read\_prefs\_t*. Otherwise, the command uses mode **MONGOC\_READ\_PRIMARY**.

- •

  **reply**: A maybe-**NULL** pointer to *overwritable storage* for a *bson\_t* to contain the results.

- •

  **error**: An optional location for a *bson\_error\_t* or **NULL**.

## DESCRIPTION

This is a simplified version of *mongoc\_collection\_command()* that returns the first result document in **reply**. The collection's read preference, read concern, and write concern are not applied to the command. The parameter **reply** is initialized even upon failure to simplify memory management.

This function tries to unwrap an embedded error in the command when possible. The unwrapped error will be propagated via the **error** parameter. Additionally, the result document is set in **reply**.

This function is not considered a retryable read operation.

## ERRORS

Errors are propagated via the **error** parameter.

## RETURNS

Returns **true** if successful. Returns **false** and sets **error** if there are invalid arguments or a server or network error.

This function does not check the server response for a write concern error or write concern timeout.

## EXAMPLE

The following is an example of executing the **ping** command.

```
#include <bson/bson.h>
#include <mongoc/mongoc.h>
#include <stdio.h>
static void
do_ping (mongoc_collection_t *collection)
{
   bson_error_t error;
   bson_t *cmd;
   bson_t reply;
   char *str;
   cmd = BCON_NEW ("ping", BCON_INT32 (1));
   if (mongoc_collection_command_simple (collection, cmd, NULL, &reply, &error)) {
      str = bson_as_canonical_extended_json (&reply, NULL);
      printf ("Got reply: %s\n", str);
      bson_free (str);
   } else {
      fprintf (stderr, "Got error: %s\n", error.message);
   }
   bson_destroy (&reply);
   bson_destroy (cmd);
}
```

## AUTHOR

MongoDB, Inc

## COPYRIGHT

2009-present, MongoDB, Inc.
