class Mongo::Operation::MapReduce::Result
Defines custom behavior of results for a map reduce operation.
@since 2.0.0 @api semiprivate
Constants
- COUNTS
-
The counts field for the map/reduce.
@since 2.0.0 @api private
- RESULTS
-
The field name for a result without a cursor.
@since 2.0.0 @api private
- TIME
-
The time the operation took constant.
@since 2.0.0 @api private
Public Instance Methods
Source
# File lib/mongo/operation/map_reduce/result.rb, line 52 def counts reply.documents[0][COUNTS] end
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 @api public
Source
# File lib/mongo/operation/map_reduce/result.rb, line 127 def cursor_id 0 end
Get the cursor id.
@example Get the cursor id.
result.cursor_id
@return [ Integer ] Always 0 because map reduce doesn’t return a cursor.
@since 2.5.0 @api private
Source
# File lib/mongo/operation/map_reduce/result.rb, line 65 def documents reply.documents[0][RESULTS] || reply.documents[0][RESULT] end
Get the documents from the map/reduce.
@example Get the documents.
result.documents
@return [ Array<BSON::Document> ] The documents.
@since 2.0.0 @api public
Source
# File lib/mongo/operation/map_reduce/result.rb, line 82 def successful? !documents.nil? end
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 @api public
Source
# File lib/mongo/operation/map_reduce/result.rb, line 95 def time reply.documents[0][TIME] end
Get the execution time of the map/reduce.
@example Get the execution time.
result.time
@return [ Integer ] The executing time in milliseconds.
@since 2.0.0 @api public
Source
# File lib/mongo/operation/map_reduce/result.rb, line 114 def validate! documents.nil? ? raise_operation_failure : self end
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 @api private
Private Instance Methods
Source
# File lib/mongo/operation/map_reduce/result.rb, line 133 def first_document @first_document ||= reply.documents[0] end