module Mongo::Operation::Write
Shared behavior of operations that write (update, insert, delete).
@since 2.5.2
Public Instance Methods
bulk_execute(server)
click to toggle source
Execute the bulk write operation.
@example
operation.bulk_execute(server)
@param [ Mongo::Server
] server The server to send the operation to.
@return [ Mongo::Operation::Delete::BulkResult
,
Mongo::Operation::Insert::BulkResult, Mongo::Operation::Update::BulkResult ] The bulk result.
@since 2.5.2
# File lib/mongo/operation/shared/write.rb, line 59 def bulk_execute(server) if server.features.op_msg_enabled? self.class::OpMsg.new(spec).execute(server).bulk_result else self.class::Command.new(spec).execute(server).bulk_result end end
execute(server)
click to toggle source
Execute the operation.
@example
operation.execute(server)
@param [ Mongo::Server
] server The server to send the operation to.
@return [ Mongo::Operation::Result
] The operation result.
@since 2.5.2
# File lib/mongo/operation/shared/write.rb, line 35 def execute(server) validate! result = if server.features.op_msg_enabled? self.class::OpMsg.new(spec).execute(server) elsif !acknowledged_write? self.class::Legacy.new(spec).execute(server) else self.class::Command.new(spec).execute(server) end validate_result(result, server) end
Private Instance Methods
validate!()
click to toggle source
# File lib/mongo/operation/shared/write.rb, line 69 def validate! if !acknowledged_write? if collation raise Error::UnsupportedCollation.new( Error::UnsupportedCollation::UNACKNOWLEDGED_WRITES_MESSAGE) end if array_filters raise Error::UnsupportedArrayFilters.new( Error::UnsupportedArrayFilters::UNACKNOWLEDGED_WRITES_MESSAGE) end end end