bool mongoc_database_read_command_with_opts (mongoc_database_t *database, 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, applying logic that is specific to commands that read, and taking the MongoDB server version into account. To send a raw command to the server without any of this logic, use mongoc_database_command_simple.
Use this function for commands that read such as "count" or "distinct". Read concern is applied from opts or else from database. Collation is applied from opts ( ). Read concern and collation both require MongoDB 3.2 or later, otherwise an error is returned. Read preferences are applied from read_prefs or else from database. No write concern is applied.
reply is always initialized, and must be freed with bson_destroy().
Errors are propagated via the error parameter.
true if successful; otherwise false and error is set.
See the example code for mongoc_client_read_command_with_opts.