class Mongo::Operation::Write::Delete
A MongoDB delete operation.
@note If a server with version >= 2.5.5 is selected, a write command
operation will be created and sent instead.
@example Create the delete operation.
Write::Delete.new({ :delete => { :q => { :foo => 1 }, :limit => 1 }, :db_name => 'test', :coll_name => 'test_coll', :write_concern => write_concern })
Initialization:
param [ Hash ] spec The specifications for the delete. option spec :delete [ Hash ] The delete document. option spec :db_name [ String ] The name of the database on which the delete should be executed. option spec :coll_name [ String ] The name of the collection on which the delete should be executed. option spec :write_concern [ Mongo::WriteConcern ] The write concern for this operation. option spec :ordered [ true, false ] Whether the operations should be executed in order. option spec :options [Hash] Options for the command, if it ends up being a write command.
@since 2.0.0
Private Instance Methods
message()
click to toggle source
# File lib/mongo/operation/write/delete.rb, line 63 def message selector = delete[Operation::Q] opts = (delete[Operation::LIMIT] || 0) <= 0 ? {} : { :flags => [ :single_remove ] } Protocol::Delete.new(db_name, coll_name, selector, opts) end
write_command_op()
click to toggle source
# File lib/mongo/operation/write/delete.rb, line 57 def write_command_op s = spec.merge(:deletes => [ delete ]) s.delete(:delete) Command::Delete.new(s) end