Class: Mongo::Operation::Delete::OpMsg Private
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
|
|
|
Instance Chain:
self,
::Mongo::Operation::Validatable,
::Mongo::Operation::PolymorphicResult,
::Mongo::Operation::PolymorphicLookup,
::Mongo::Operation::ExecutableTransactionLabel,
::Mongo::Operation::ExecutableNoValidate,
::Mongo::Operation::BypassDocumentValidation,
::Mongo::Operation::OpMsgBase,
::Mongo::Operation::Timed,
::Mongo::Operation::SessionsSupported,
::Mongo::Operation::Executable,
::Mongo::Operation::ResponseHandling,
::Mongo::Operation::Specifiable
|
|
| Inherits: |
Mongo::Operation::OpMsgBase
|
| Defined in: | lib/mongo/operation/delete/op_msg.rb |
Overview
A MongoDB delete operation sent as an op message.
Constant Summary
::Mongo::Operation::Specifiable - Included
BYPASS_DOC_VALIDATION, COLLATION, COLL_NAME, CURSOR_COUNT, CURSOR_ID, DB_NAME, DELETE, DELETES, DOCUMENTS, INDEX, INDEXES, INDEX_NAME, MAX_TIME_MS, OPERATION_ID, OPTIONS, READ, READ_CONCERN, SELECTOR, TO_RETURN, UPDATE, UPDATES, USER, USER_NAME, WRITE_CONCERN
::Mongo::Operation::Executable - Included
::Mongo::Operation::SessionsSupported - Included
Instance Attribute Summary
::Mongo::Operation::Executable - Included
::Mongo::Operation::Specifiable - Included
| #acknowledged_write? | Does the operation have an acknowledged write concern. |
| #ordered? | Whether the operation is ordered. |
| #spec | |
Instance Method Summary
- #message(connection) private Internal use only
- #selector(connection) private Internal use only
::Mongo::Operation::Validatable - Included
| #validate_array_filters | selector_or_item here is either: - The selector as used in a findAndModify command, or - One of the array elements in the updates array in an update command. |
| #validate_collation | selector_or_item here is either: - The selector as used in a findAndModify command, or - One of the array elements in the updates array in an update command. |
| #validate_find_options, | |
| #validate_hint_on_update | selector_or_item here is either: - The selector as used in a findAndModify command, or - One of the array elements in the updates array in an update command. |
| #validate_updates | |
::Mongo::Operation::PolymorphicResult - Included
::Mongo::Operation::PolymorphicLookup - Included
::Mongo::Operation::ExecutableNoValidate - Included
::Mongo::Operation::BypassDocumentValidation - Included
::Mongo::Operation::OpMsgBase - Inherited
::Mongo::Operation::Timed - Included
| #apply_relevant_timeouts_to | If a timeout is active (as defined by the current context), and it has not yet expired, add |
| #with_max_time | A helper method that computes the remaining timeout (in seconds) and yields it to the associated block. |
::Mongo::Operation::SessionsSupported - Included
| #add_read_preference | Adds $readPreference field to the command document. |
| #add_write_concern!, #apply_autocommit!, | |
| #apply_causal_consistency! | Adds causal consistency document to the selector, if one can be constructed and the selector is for a startTransaction command. |
| #apply_causal_consistency_if_possible | Adds causal consistency document to the selector, if one can be constructed. |
| #apply_cluster_time!, #apply_read_pref!, #apply_session_options, #apply_start_transaction!, #apply_txn_num!, #apply_txn_opts!, #build_message, #command, #flags, #read_command?, #suppress_read_write_concern!, #validate_read_preference! | |
::Mongo::Operation::Executable - Included
| #do_execute, #execute, #build_message, #check_for_network_error, | |
| #dispatch_message | Returns a |
| #get_result, #process_result, #process_result_for_sdam, #result_class | |
::Mongo::Operation::ResponseHandling - Included
| #add_error_labels | Adds error labels to exceptions raised in the yielded to block, which should perform MongoDB operations and raise Mongo::Errors on failure. |
| #add_server_diagnostics | Yields to the block and, if the block raises an exception, adds a note to the exception with the address of the specified server. |
| #maybe_add_retryable_write_error_label! | A method that will add the RetryableWriteError label to an error if any of the following conditions are true: |
| #unpin_maybe | Unpins the session and/or the connection if the yielded to block raises errors that are required to unpin the session and the connection. |
| #validate_result | |
::Mongo::Operation::Specifiable - Included
| #== | Check equality of two specifiable operations. |
| #apply_collation, | |
| #array_filters | The array filters. |
| #bypass_document_validation | Whether or not to bypass document level validation. |
| #coll_name | The name of the collection to which the operation should be sent. |
| #collation | The collation to apply to the operation. |
| #command | The command. |
| #cursor_count | Get the cursor count from the spec. |
| #cursor_id | The id of the cursor created on the server. |
| #db_name | The name of the database to which the operation should be sent. |
| #delete | Get the delete document from the specification. |
| #deletes | Get the deletes from the specification. |
| #documents | The documents to in the specification. |
| #eql? | Alias for Specifiable#==. |
| #index | Get the index from the specification. |
| #index_id | Get the index id from the spec. |
| #index_name | Get the index name from the spec. |
| #indexes | Get the indexes from the specification. |
| #initialize |
|
| #max_time_ms | Get the max time ms value from the spec. |
| #namespace | The namespace, consisting of the db name and collection name. |
| #operation_id | Get the operation id for the operation. |
| #options | Get the options for executing the operation on a particular connection. |
| #read | The read preference for this operation. |
| #read_concern | Get the read concern document from the spec. |
| #selector | The selector from the specification for execution on a particular connection. |
| #session | The session to use for the operation. |
| #to_return | The number of documents to request from the server. |
| #txn_num | The transaction number for the operation. |
| #update | The update document from the spec. |
| #updates | The update documents from the spec. |
| #user | The user for user related operations. |
| #user_name | The user name from the specification. |
| #write_concern | The write concern to use for this operation. |
Instance Method Details
#message(connection) (private)
# File 'lib/mongo/operation/delete/op_msg.rb', line 50
def (connection) section = Protocol::Msg::Section1.new(IDENTIFIER, send(IDENTIFIER)) cmd = apply_relevant_timeouts_to(command(connection), connection) Protocol::Msg.new(flags, {}, cmd, section) end
#selector(connection) (private)
# File 'lib/mongo/operation/delete/op_msg.rb', line 36
def selector(connection) { delete: coll_name, Protocol::Msg::DATABASE_IDENTIFIER => db_name, ordered: ordered?, let: spec[:let], comment: spec[:comment], }.compact.tap do |selector| if hint = spec[:hint] validate_hint_on_update(connection, selector) selector[:hint] = hint end end end