class Mongo::Operation::ParallelScan::Command

A MongoDB parallelscan operation sent as a command message.

@api private

@since 2.5.2

Public Instance Methods

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::ParallelScan::Result ] The operation result.

@since 2.5.2

# File lib/mongo/operation/parallel_scan/command.rb, line 40
def execute(server)
  result = Result.new(dispatch_message(server))
  process_result(result, server)
  result.validate!
end

Private Instance Methods

message(server) click to toggle source
# File lib/mongo/operation/parallel_scan/command.rb, line 56
def message(server)
  Protocol::Query.new(db_name, Database::COMMAND, command(server), options(server))
end
selector(server) click to toggle source
# File lib/mongo/operation/parallel_scan/command.rb, line 48
def selector(server)
  sel = { :parallelCollectionScan => coll_name, :numCursors => cursor_count }
  sel[:readConcern] = read_concern if read_concern
  sel[:maxTimeMS] = max_time_ms if max_time_ms
  update_selector_for_read_pref(sel, server)
  sel
end