mongoc_collection_command_with_opts()

Synopsis

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

Execute a command on the server, interpreting opts according to the MongoDB server version. To send a raw command to the server without any of this logic, use mongoc_client_command_simple().

Read preferences are applied from read_prefs or else from collection. Collation, read concern, and write concern are applied from opts (see example for the “distinct” command with opts). The write concern is ignored for MongoDB before 3.4.

reply is always initialized, and must be freed with bson_destroy().

Parameters

opts may be NULL or a BSON document with additional command options:

Consult the MongoDB Manual entry on Database Commands for each command’s arguments.

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.

The reply is not parsed for a write concern timeout or write concern error.

Example

See the example code for mongoc_client_read_command_with_opts().