Class: Mongo::Operation::ListCollections::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/list_collections/result.rb |
Overview
Defines custom behavior of results when using the listCollections command.
Constant Summary
::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
::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
-
#cursor_id ⇒ Integer
Internal use only
Internal use only
Get the cursor id for the result.
-
#documents ⇒ Array<BSON::Document>
Get the documents for the listCollections result.
-
#namespace ⇒ String
Internal use only
Internal use only
Get the namespace for the cursor.
-
#validate! ⇒ Result
Internal use only
Internal use only
Validate the result.
- #cursor_document private
- #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 Method Details
#cursor_document (private)
# File 'lib/mongo/operation/list_collections/result.rb', line 103
def cursor_document @cursor_document ||= first_document[CURSOR] end
#cursor_id ⇒ Integer
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.
# 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.
# File 'lib/mongo/operation/list_collections/result.rb', line 70
def documents cursor_document[FIRST_BATCH] end
#first_document (private)
# File 'lib/mongo/operation/list_collections/result.rb', line 107
def first_document @first_document ||= reply.documents[0] end
#namespace ⇒ String
Get the namespace for the cursor.
# File 'lib/mongo/operation/list_collections/result.rb', line 56
def namespace cursor_document ? cursor_document[NAMESPACE] : super end
#validate! ⇒ Result
Validate the result. In the case where an unauthorized client tries to run the command we need to generate the proper error.
# 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