class Mongo::Operation::Commands::MapReduce::Result

Defines custom behaviour of results for a map reduce operation.

@since 2.0.0

Constants

COUNTS

The counts field for the map/reduce.

@since 2.0.0

RESULTS

The field name for a result without a cursor.

@since 2.0.0

TIME

The time the operation took constant.

@since 2.0.0

Public Instance Methods

counts() click to toggle source

Gets the map/reduce counts from the reply.

@example Get the counts.

result.counts

@return [ Hash ] A hash of the result counts.

@since 2.0.0

# File lib/mongo/operation/commands/map_reduce/result.rb, line 48
def counts
  reply.documents[0][COUNTS]
end
documents() click to toggle source

Get the documents from the map/reduce.

@example Get the documents.

result.documents

@return [ Array<BSON::Document> ] The documents.

@since 2.0.0

# File lib/mongo/operation/commands/map_reduce/result.rb, line 60
def documents
  reply.documents[0][RESULTS] || reply.documents[0][RESULT]
end
successful?() click to toggle source

If the result was a command then determine if it was considered a success.

@note If the write was unacknowledged, then this will always return

true.

@example Was the command successful?

result.successful?

@return [ true, false ] If the command was successful.

@since 2.0.0

# File lib/mongo/operation/commands/map_reduce/result.rb, line 76
def successful?
  !documents.nil?
end
time() click to toggle source

Get the execution time of the map/reduce.

@example Get the execution time.

result.time

@return [ Integer ] The executiong time in milliseconds.

@since 2.0.0

# File lib/mongo/operation/commands/map_reduce/result.rb, line 88
def time
  reply.documents[0][TIME]
end
validate!() click to toggle source

Validate the result by checking for any errors.

@note This only checks for errors with writes since authentication is

handled at the connection level and any authentication errors would
be raised there, before a Result is ever created.

@example Validate the result.

result.validate!

@raise [ Error::OperationFailure ] If an error is in the result.

@return [ Result ] The result if verification passed.

@since 2.0.0

# File lib/mongo/operation/commands/map_reduce/result.rb, line 106
def validate!
  documents.nil? ? raise(Error::OperationFailure.new(parser.message)) : self
end

Private Instance Methods

first_document() click to toggle source
# File lib/mongo/operation/commands/map_reduce/result.rb, line 112
def first_document
  @first_document ||= reply.documents[0]
end