Class: Mongo::Operation::Indexes::Result
- Defined in:
- lib/mongo/operation/indexes/result.rb
Overview
Defines custom behavior of results when using the listIndexes command.
Constant Summary
Constants inherited from Result
Result::CURSOR, Result::CURSOR_ID, Result::FIRST_BATCH, Result::N, Result::NAMESPACE, Result::NEXT_BATCH, Result::OK, Result::RESULT
Instance Attribute Summary
Attributes inherited from Result
#connection, #connection_description, #connection_global_id, #context, #replies
Instance Method Summary collapse
-
#cursor_id ⇒ Integer
private
Get the cursor id for the result.
-
#documents ⇒ Array<BSON::Document>
Get the documents for the listIndexes result.
-
#namespace ⇒ String
private
Get the namespace for the cursor.
-
#validate! ⇒ Result
private
Validate the result.
Methods inherited from Result
#acknowledged?, #cluster_time, #each, #error, #has_cursor_id?, #initialize, #inspect, #labels, #ok?, #operation_time, #reply, #returned_count, #snapshot_timestamp, #successful?, #topology_version, #write_concern_error?, #written_count
Constructor Details
This class inherits a constructor from Mongo::Operation::Result
Instance Method Details
#cursor_id ⇒ Integer
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Even though the wire protocol has a cursor_id field for all messages of type reply, it is always zero when using the listIndexes command and must be retrieved from the cursor document itself.
Get the cursor id for the result.
43 44 45 |
# File 'lib/mongo/operation/indexes/result.rb', line 43 def cursor_id cursor_document ? cursor_document[CURSOR_ID] : super end |
#documents ⇒ Array<BSON::Document>
Get the documents for the listIndexes result. This is the ‘firstBatch’ field in the ‘cursor’ field of the first document returned.
70 71 72 |
# File 'lib/mongo/operation/indexes/result.rb', line 70 def documents cursor_document[FIRST_BATCH] end |
#namespace ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Get the namespace for the cursor.
56 57 58 |
# File 'lib/mongo/operation/indexes/result.rb', line 56 def namespace cursor_document ? cursor_document[NAMESPACE] : super end |
#validate! ⇒ Result
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Validate the result. In the case where the database or collection does not exist on the server we will get an error, and it’s better to raise a meaningful exception here than the ambiguous one when the error occurs.
88 89 90 |
# File 'lib/mongo/operation/indexes/result.rb', line 88 def validate! !successful? ? raise_operation_failure : self end |