'Drop a collection.
:Parameters:
- `name_or_collection`: the name of a collection to drop or the
collection object itself
.. note:: The :attr:`~pymongo.database.Database.write_concern` of
this database is automatically applied to this operation when using
MongoDB >= 3.4.
.. versionchanged:: 3.4
Apply this database\'s write concern automatically to this operation
when connected to MongoDB >= 3.4.'

def drop_collection(self, name_or_collection):

    name = name_or_collection
    if isinstance(name, Collection):
        name = name.name
    if (not isinstance(name, string_type)):
        raise TypeError(('name_or_collection    must    be    an    instance    of    %s' % (string_type.__name__,)))
    self.__client._purge_index(self.__name, name)
    with self.__client._socket_for_reads(ReadPreference.PRIMARY) as (sock_info, slave_ok):
        return self._command(sock_info, 'drop', slave_ok, _unicode(name), allowable_errors=['ns    not    found'], write_concern=self.write_concern, parse_write_concern_error=True)
