Class: Mongo::Operation::MapReduce::Result
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
::Mongo::Operation::Result ,
Forwardable
|
|
Instance Chain:
self,
::Mongo::Operation::Result ,
Enumerable
|
|
Inherits: |
Mongo::Operation::Result
|
Defined in: | lib/mongo/operation/map_reduce/result.rb |
Overview
Defines custom behavior of results for a map reduce operation.
Constant Summary
-
COUNTS =
Internal use only
The counts field for the map/reduce.
'counts'.freeze
-
RESULTS =
Internal use only
The field name for a result without a cursor.
'results'.freeze
-
TIME =
Internal use only
The time the operation took constant.
'timeMillis'.freeze
::Mongo::Operation::Result
- Inherited
CURSOR, CURSOR_ID, FIRST_BATCH, N, NAMESPACE, NEXT_BATCH, OK, RESULT
Class Method Summary
::Mongo::Operation::Result
- Inherited
.new | Initialize a new result. |
Instance Attribute Summary
-
#successful? ⇒ true, false
readonly
If the result was a command then determine if it was considered a success.
::Mongo::Operation::Result
- Inherited
#acknowledged? | Is the result acknowledged? |
#connection, #connection_description, #connection_global_id, #context, | |
#has_cursor_id? | Whether the result contains cursor_id. |
#ok? | Check the first document’s ok field. |
#replies, | |
#successful? | If the result was a command then determine if it was considered a success. |
#write_concern_error? | Whether the operation failed with a write concern error. |
#query_failure? |
Instance Method Summary
-
#counts ⇒ Hash
Gets the map/reduce counts from the reply.
-
#cursor_id ⇒ Integer
Internal use only
Internal use only
Get the cursor id.
-
#documents ⇒ Array<BSON::Document>
Get the documents from the map/reduce.
-
#returned_count ⇒ Integer
Get the number of documents returned by the server in this batch.
-
#time ⇒ Integer
Get the execution time of the map/reduce.
-
#validate! ⇒ Result
Internal use only
Internal use only
Validate the result by checking for any errors.
- #first_document private
::Mongo::Operation::Result
- Inherited
#cluster_time | Get the cluster time reported in the server response. |
#cursor_id | Get the cursor id if the response is acknowledged. |
#documents | Get the documents in the result. |
#each | Iterate over the documents in the replies. |
#error | The exception instance (of Error::OperationFailure::Family) that would be raised during processing of this result. |
#inspect | Get the pretty formatted inspection of the result. |
#labels | Gets the set of error labels associated with the result. |
#n | Alias for Result#written_count. |
#namespace | Get the namespace of the cursor. |
#operation_time | Get the operation time reported in the server response. |
#reply | Get the reply from the result. |
#returned_count | Get the number of documents returned by the server in this batch. |
#snapshot_timestamp, #topology_version, | |
#validate! | Validate the result by checking for any errors. |
#written_count | Get the number of documents written by the server. |
#aggregate_returned_count, #aggregate_written_count, #first_document, #operation_failure_class, #parser, | |
#raise_operation_failure | Raises a Mongo::OperationFailure exception corresponding to the error information in this result. |
Instance Attribute Details
#successful? ⇒ true
, false
(readonly)
If the write was unacknowledged, then this will always return true.
If the result was a command then determine if it was considered a success.
# File 'lib/mongo/operation/map_reduce/result.rb', line 85
def successful? !documents.nil? end
Instance Method Details
#counts ⇒ Hash
Gets the map/reduce counts from the reply.
#cursor_id ⇒ Integer
Get the cursor id.
# File 'lib/mongo/operation/map_reduce/result.rb', line 130
def cursor_id 0 end
#documents ⇒ Array
<BSON::Document
>
Get the documents from the map/reduce.
#first_document (private)
# File 'lib/mongo/operation/map_reduce/result.rb', line 152
def first_document @first_document ||= reply.documents[0] end
#returned_count ⇒ Integer
Get the number of documents returned by the server in this batch.
Map/Reduce operation returns documents inline without using cursors; as such, the standard Mongo::Reply#returned_count does not work correctly for Map/Reduce.
Note that the Map/Reduce operation is limited to max BSON document size (16 MB) in its inline result set.
# File 'lib/mongo/operation/map_reduce/result.rb', line 146
def returned_count reply.documents.length end
#time ⇒ Integer
Get the execution time of the map/reduce.
#validate! ⇒ Result
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.
Validate the result by checking for any errors.
# File 'lib/mongo/operation/map_reduce/result.rb', line 117
def validate! documents.nil? ? raise_operation_failure : self end