class Mongo::Operation::Write::Command::Delete
A MongoDB delete write command operation.
@example Initialize a delete write command.
Write::Command::Delete.new({ :deletes => [{ :q => { :foo => 1 }, :limit => 1 }], :db_name => 'test', :coll_name => 'test_coll', :write_concern => write_concern, :ordered => true })
@since 2.0.0
Constants
- IDENTIFIER
Private Instance Methods
message(server)
click to toggle source
The wire protocol message for this write operation.
@return [ Mongo::Protocol::Query
] Wire protocol message.
@since 2.0.0
# File lib/mongo/operation/write/command/delete.rb, line 67 def message(server) if server.features.op_msg_enabled? op_msg(server) else Protocol::Query.new(db_name, Database::COMMAND, selector, options) end end
op_msg(server)
click to toggle source
# File lib/mongo/operation/write/command/delete.rb, line 51 def op_msg(server) global_args = { delete: coll_name, Protocol::Msg::DATABASE_IDENTIFIER => db_name }.merge!(command_options) update_selector_for_session!(global_args, server) section = { type: 1, payload: { identifier: IDENTIFIER, sequence: deletes } } flags = unacknowledged_write? ? [:more_to_come] : [:none] Protocol::Msg.new(flags, {}, global_args, section) end
selector()
click to toggle source
The query selector for this delete command operation.
@return [ Hash ] The selector describing this delete operation.
@since 2.0.0
# File lib/mongo/operation/write/command/delete.rb, line 45 def selector { delete: coll_name, deletes: deletes }.merge(command_options) end