class Mongo::Operation::Commands::Aggregate
A MongoDB aggregate operation.
@note An aggregate operation can behave like a read and return a
result set, or can behave like a write operation and output results to a user-specified collection.
@example Create the aggregate operation.
Aggregate.new({ :selector => { :aggregate => 'test_coll', :pipeline => [{ '$out' => 'test-out' }] }, :db_name => 'test_db' })
Initialization:
param [ Hash ] spec The specifications for the operation. option spec :selector [ Hash ] The aggregate selector. option spec :db_name [ String ] The name of the database on which the operation should be executed. option spec :options [ Hash ] Options for the aggregate command.
@since 2.0.0
Aggregate result wrapper.
@since 2.0.0
Private Instance Methods
message(server)
click to toggle source
# File lib/mongo/operation/commands/aggregate.rb, line 48 def message(server) sel = update_selector_for_write_concern(selector, server) if server.features.op_msg_enabled? command_op_msg(server, sel, options) else sel = update_selector_for_read_pref(sel, server) opts = update_options_for_slave_ok(options, server) Protocol::Query.new(db_name, query_coll, sel, opts) end end