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


       mongoc_collection_drop_with_opts - mongoc_collection_drop_with_opts()


          mongoc_collection_drop_with_opts (mongoc_collection_t *collection,
                                            bson_t *opts,
                                            bson_error_t *error);


       · 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

       · 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


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


       Errors are propagated via the error parameter.


       Returns  true  if the collection was successfully dropped. Returns false and sets error if
       there are invalid arguments or a server or network error.


       MongoDB, Inc


       2017-present, MongoDB, Inc