class Mongo::Operation::Delete::Legacy

A MongoDB delete operation sent as a legacy wire protocol message.

@api private

@since 2.5.2

Public Instance Methods

execute(server) click to toggle source

Execute the operation.

@example

operation.execute(server)

@param [ Mongo::Server ] server The server to send the operation to.

@return [ Mongo::Operation::Delete::Result ] The operation result.

@since 2.5.2

# File lib/mongo/operation/delete/legacy.rb, line 38
def execute(server)
  result = Result.new(dispatch_message(server))
  process_result(result, server)
  result.validate!
end

Private Instance Methods

gle() click to toggle source
# File lib/mongo/operation/delete/legacy.rb, line 55
def gle
  wc = write_concern ||  WriteConcern.get(WriteConcern::DEFAULT)
  if gle_message = wc.get_last_error
    Protocol::Query.new(
        db_name,
        Database::COMMAND,
        gle_message,
        options.merge(limit: -1)
    )
  end
end
message(server) click to toggle source
# File lib/mongo/operation/delete/legacy.rb, line 50
def message(server)
  opts = (selector[Operation::LIMIT] || 0) <= 0 ? {} : { :flags => [ :single_remove ] }
  Protocol::Delete.new(db_name, coll_name, selector[Operation::Q], opts)
end
selector() click to toggle source
# File lib/mongo/operation/delete/legacy.rb, line 46
def selector
  send(IDENTIFIER).first
end