mongoc_collection_drop_with_opts()¶
Synopsis¶
bool
mongoc_collection_drop_with_opts (mongoc_collection_t *collection,
bson_t *opts,
bson_error_t *error);
Parameters¶
collection
: A mongoc_collection_t.error
: An optional location for a bson_error_t orNULL
.
opts
may be NULL or a BSON document with additional command options:
writeConcern
: Construct a mongoc_write_concern_t and use mongoc_write_concern_append() to add the write concern toopts
. See the example code for mongoc_client_write_command_with_opts().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 fromcollection
, and use mongoc_client_session_append() to add the session toopts
. See the example code for mongoc_client_session_t.collation
: Configure textual comparisons. See Setting Collation Order, 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.
Description¶
This function requests that a collection
be dropped, including all indexes associated with the collection
.
If no write concern is provided in opts
, the collection’s write concern is used.
If the collection does not exist, the server responds with an “ns not found” error. It is safe to ignore this error; set the Error API Version to 2 and ignore server error code 26:
mongoc_client_t *client;
mongoc_collection_t *collection;
bson_error_t error;
bool r;
client = mongoc_client_new (NULL);
mongoc_client_set_error_api (client, 2);
collection = mongoc_client_get_collection (client, "db", "collection");
r = mongoc_collection_drop_with_opts (collection, NULL /* opts */, &error);
if (r) {
printf ("Dropped.\n");
} else {
printf ("Error message: %s\n", error.message);
if (error.domain == MONGOC_ERROR_SERVER && error.code == 26) {
printf ("Ignoring 'ns not found' error\n");
} else {
fprintf (stderr, "Unrecognized error!\n");
}
}
mongoc_collection_destroy (collection);
mongoc_client_destroy (client);
In MongoDB 3.0 and older, the “ns not found” error code is the generic MONGOC_ERROR_QUERY_FAILURE; in this case check whether the error message is equal to the string “ns not found”.
The encryptedFields
document in opts
may be used to drop a collection for Queryable Encryption. If encryptedFields
is specified, the “ns not found” error is not returned.
Errors¶
Errors are propagated via the error
parameter.
Returns¶
Returns true if the collection was successfully dropped. Returns false
and sets error
if there are invalid arguments or a server or network error.