class Mongo::Operation::Write::CreateIndex

A MongoDB create index operation.

@note If a server with version >= 2.5.5 is being used, a write command

operation will be created and sent instead.

@example Create the create index operation.

Write::CreateIndex.new({
  :index => { :name => 1, :age => -1 },
  :db_name => 'test',
  :coll_name => 'test_coll',
  :index_name => 'name_1_age_-1'
})

Initialization:

param [ Hash ] spec The specifications for the insert.

option spec :index [ Hash ] The index spec to create.
option spec :db_name [ String ] The name of the database.
option spec :coll_name [ String ] The name of the collection.
option spec :index_name [ String ] The name of the index.
option spec :options [ Hash ] Options for the command, if it ends up being a
  write command.

@since 2.0.0

Private Instance Methods

index_documents() click to toggle source
# File lib/mongo/operation/write/create_index.rb, line 55
def index_documents
  indexes.dup.each do |index|
    index[:ns] = namespace
  end
end
message() click to toggle source
# File lib/mongo/operation/write/create_index.rb, line 61
def message
  Protocol::Insert.new(db_name, Index::COLLECTION, index_documents)
end
write_command_op() click to toggle source
# File lib/mongo/operation/write/create_index.rb, line 51
def write_command_op
  Command::CreateIndex.new(spec)
end