class Mongo::Operation::Write::Update
Initialization:
param [ Hash ] spec The specifications for the update. option spec :update [ Hash ] The update document. option spec :db_name [ String ] The name of the database on which the query should be run. option spec :coll_name [ String ] The name of the collection on which the query should be run. option spec :write_concern [ Mongo::WriteConcern ] The write concern. option spec :options [ Hash ] Options for the command, if it ends up being a write command.
@since 2.0.0
Private Instance Methods
has_array_filters?()
click to toggle source
# File lib/mongo/operation/write/update.rb, line 67 def has_array_filters? update[Operation::ARRAY_FILTERS] end
has_collation?()
click to toggle source
# File lib/mongo/operation/write/update.rb, line 71 def has_collation? update[:collation] || update[Operation::COLLATION] end
message(server)
click to toggle source
# File lib/mongo/operation/write/update.rb, line 75 def message(server) flags = [] flags << :multi_update if update[Operation::MULTI] flags << :upsert if update[Operation::UPSERT] Protocol::Update.new( db_name, coll_name, update[Operation::Q], update[Operation::U], flags.empty? ? {} : { flags: flags } ) end
write_command_op()
click to toggle source
# File lib/mongo/operation/write/update.rb, line 61 def write_command_op s = spec.merge(:updates => [ update ]) s.delete(:update) Command::Update.new(s) end