module Mongo::Operation::Write::Command::Writable
Provides common behavior for write commands. Assigns an operation id when executed.
@since 2.0.0
Public Instance Methods
execute(server)
click to toggle source
Execute the operation.
@example Execute the operation.
operation.execute(server)
@param [ Mongo::Server
] server The server to send this operation to.
@return [ Result
] The operation response, if there is one.
@since 2.0.0
# File lib/mongo/operation/write/command/writable.rb, line 38 def execute(server) server.with_connection do |connection| connection.dispatch([ message(server) ], operation_id) end end
Private Instance Methods
command_options()
click to toggle source
# File lib/mongo/operation/write/command/writable.rb, line 46 def command_options opts = { ordered: ordered? } opts[:writeConcern] = write_concern.options if write_concern opts[:collation] = collation if collation opts[:bypassDocumentValidation] = true if bypass_document_validation opts end
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/writable.rb, line 59 def message(server) if server.features.op_msg_enabled? command_op_msg(server, selector, options) else Protocol::Query.new(db_name, Database::COMMAND, selector, options) end end