Provided by: libmongoc-doc_1.22.1-1_all bug

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 specifed, 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