# File lib/mongo/collection.rb, line 560
    def ensure_index(spec, opts={})
      now             = Time.now.utc.to_i
      opts[:dropDups] = opts[:drop_dups] if opts[:drop_dups]
      field_spec      = parse_index_spec(spec)
      name            = opts[:name] || generate_index_name(field_spec)
      name            = name.to_s if name

      if !@cache[name] || @cache[name] <= now
        generate_indexes(field_spec, name, opts)
      end

      # Reset the cache here in case there are any errors inserting. Best to be safe.
      @cache[name] = now + @cache_time
      name
    end