FreeBSD Manual Pages
MONGOC_DATABAS...MAND_WITH_OPTS(3) libmongocMONGOC_DATABAS...MAND_WITH_OPTS(3) SYNOPSIS 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 preferences, read concern, and collation can be overridden by var- ious sources. In a transaction, read concern and write concern are pro- hibited in opts and the read preference must be primary or NULL. The highest-priority sources for these options are listed first in the fol- lowing table. No write concern is applied. +------------------+--------------+-----------+ | Read Preferences | Read Concern | Collation | +------------------+--------------+-----------+ | read_prefs | opts | opts | +------------------+--------------+-----------+ | Transaction | Transaction | | +------------------+--------------+-----------+ | database | | | +------------------+--------------+-----------+ See the example for transactions and for the "distinct" command with opts. reply is always initialized, and must be freed with bson_destroy(). This function is considered a retryable read operation. Upon a tran- sient error (a network error, errors due to replica set failover, etc.) the operation is safely retried once. If retryreads is false in the URI (see mongoc_uri_t) the retry behavior does not apply. Retry logic occurs regardless of the underlying command. Retrying mapReduce has the potential for degraded performance. Retrying a get- More command has the potential to miss results. For those commands, use generic command helpers (like mongoc_database_command_with_opts()) in- stead. PARAMETERS • database: A mongoc_database_t. • command: A bson_t containing the command specification. • read_prefs: An optional mongoc_read_prefs_t. • opts: A bson_t containing additional options. • 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. opts may be NULL or a BSON document with additional command options: • readConcern: Construct a mongoc_read_concern_t and use mongoc_read_concern_append() to add the read concern to opts. See the example code for mongoc_client_read_command_with_opts(). Read concern requires MongoDB 3.2 or later, otherwise an error is returned. • sessionId: First, construct a mongoc_client_session_t with mongoc_client_start_session(). You can begin a transaction with mongoc_client_session_start_transaction(), optionally with a mongoc_transaction_opt_t that overrides the options inherited from database, and use mongoc_client_session_append() to add the session to opts. See the example code for mongoc_client_session_t. • collation: Configure textual comparisons. See Setting Collation Or- der, and the MongoDB Manual entry on Collation. Collation requires MongoDB 3.2 or later, otherwise an error is returned. • serverId: To target a specific server, include an int32 "serverId" field. Obtain the id by calling mongoc_client_select_server(), then mongoc_server_description_id() on its return value. Consult the MongoDB Manual entry on Database Commands for each com- mand'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. EXAMPLE See the example code for mongoc_client_read_command_with_opts(). AUTHOR MongoDB, Inc COPYRIGHT 2009-present, MongoDB, Inc. 1.30.2 Apr 12, 202MONGOC_DATABAS...MAND_WITH_OPTS(3)
SYNOPSIS | PARAMETERS | ERRORS | RETURNS | EXAMPLE | AUTHOR | COPYRIGHT
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mongoc_database_read_command_with_opts&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>