MONGOC_COLLECTION_DROP_WITH_OPTS(3)

NAME
mongoc_collection_drop_with_opts - 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 or NULL.

    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 to opts. 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 from collection, 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 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 create a collection used for Using Client-Side Field Level 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.

AUTHOR
MongoDB, Inc

COPYRIGHT
2017-present, MongoDB, Inc