logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

bool

Author

       MongoDB, Inc

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 ErrorAPIVersion 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 QueryableEncryption. If
       encryptedFields is specified, the "ns not found" error is not returned.

Errors

       Errors are propagated via the error parameter.

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 SettingCollationOrder, and theMongoDBManualentryonCollation. 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.

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.

Synopsis

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

See Also