def drop(opts = {})
      client.send(:with_session, opts) do |session|
        Operation::Drop.new({
                              selector: { :drop => name },
                              db_name: database.name,
                              write_concern: write_concern,
                              session: session
                              }).execute(next_primary)
      end
    rescue Error::OperationFailure => ex
      raise ex unless ex.message =~ /ns not found/
      false
    end
def drop(opts = {})
      client.send(:with_session, opts) do |session|
        Operation::Drop.new({
                              selector: { :drop => name },
                              db_name: database.name,
                              write_concern: write_concern,
                              session: session
                              }).execute(next_primary)
      end
    rescue Error::OperationFailure => ex
      raise ex unless ex.message =~ /ns not found/
      false
    end
Drop the collection. Will also drop all indexes associated with the
 collection.

 @note An error returned if the collection doesn't exist is suppressed.

 @example Drop the collection.
   collection.drop

 @param [ Hash ] opts The options for the drop operation.

 @option options [ Session ] :session The session to use for the operation.

 @return [ Result ] The result of the command.

 @since 2.0.0