class Mongo::Operation::Write::Bulk::Delete
A MongoDB bulk 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::Bulk::Delete.new({ :deletes => [{ :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 :deletes [ Array ] The delete documents. 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
execute_write_command(context)
click to toggle source
# File lib/mongo/operation/write/bulk/delete.rb, line 57 def execute_write_command(context) Result.new(Command::Delete.new(spec).execute(context)) end
messages()
click to toggle source
# File lib/mongo/operation/write/bulk/delete.rb, line 61 def messages deletes.collect do |del| opts = ( del[Operation::LIMIT] || 0 ) <= 0 ? {} : { :flags => [ :single_remove ] } Protocol::Delete.new(db_name, coll_name, del[Operation::Q], opts) end end