# File lib/moneta/adapters/mongo.rb, line 37
      def initialize(options = {})
        self.default_expires = options.delete(:expires)
        collection = options.delete(:collection) || 'moneta'
        db = options.delete(:db) || 'moneta'
        @expires_field = options.delete(:expires_field) || 'expiresAt'
        @value_field = options.delete(:value_field) || 'value'
        @type_field = options.delete(:type_field) || 'type'
        @backend = options[:backend] ||
          begin
            host = options.delete(:host) || '127.0.0.1'
            port = options.delete(:port) || ::Mongo::MongoClient::DEFAULT_PORT
            user = options.delete(:user)
            password = options.delete(:password)
            ::Mongo::MongoClient.new(host, port, options)
          end
        db = @backend.db(db)
        db.authenticate(user, password, true) if user && password
        @collection = db.collection(collection)
        if @backend.server_version >= '2.2'
          @collection.ensure_index([[@expires_field, ::Mongo::ASCENDING]], :expireAfterSeconds => 0)
        else
          warn 'Moneta::Adapters::Mongo - You are using MongoDB version < 2.2, expired documents will not be deleted'
        end
      end