Provided by: libmongoc-doc_1.26.0-1.1ubuntu2_all bug

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 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.

AUTHOR

       MongoDB, Inc

COPYRIGHT

       2017-present, MongoDB, Inc

1.26.0                                            Mar 31, 2024               MONGOC_COLLECTION_DROP_WITH_OPTS(3)