Class: Mongo::Operation::ListCollections::Result
- Defined in:
- lib/mongo/operation/list_collections/result.rb
Overview
Defines custom behavior of results when using the listCollections 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 listCollections 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 listCollections command and must be retrieved from the cursor document itself.
Get the cursor id for the result.
43 44 45 |
# File 'lib/mongo/operation/list_collections/result.rb', line 43 def cursor_id cursor_document ? cursor_document[CURSOR_ID] : super end |
#documents ⇒ Array<BSON::Document>
Get the documents for the listCollections result. It is the ‘firstBatch’
field in the 'cursor' field of the first document returned.
70 71 72 |
# File 'lib/mongo/operation/list_collections/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/list_collections/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 an unauthorized client tries to run the command we need to generate the proper error.
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/mongo/operation/list_collections/result.rb', line 84 def validate! if successful? self else raise operation_failure_class.new( parser., self, code: parser.code, code_name: parser.code_name, labels: parser.labels, wtimeout: parser.wtimeout, document: parser.document, server_message: parser., ) end end |