code: 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)
docs: 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.