Module: Mongo::Operation::Result::Aggregatable Private
Do not use. This module is for internal use only.
Relationships & Source Files | |
Defined in: | lib/mongo/operation/shared/result/aggregatable.rb |
Overview
Defines custom behavior of bulk write results
Instance Method Summary
-
#aggregate_write_concern_errors(count) ⇒ Array
Internal use only
::Mongo::Operation::Aggregate
the write concern errors returned from this result. -
#aggregate_write_errors(count) ⇒ Array
Internal use only
::Mongo::Operation::Aggregate
the write errors returned from this result.
Instance Method Details
#aggregate_write_concern_errors(count) ⇒ Array
::Mongo::Operation::Aggregate
the write concern errors returned from this result.
# File 'lib/mongo/operation/shared/result/aggregatable.rb', line 60
def aggregate_write_concern_errors(count) return unless @replies @replies.each_with_index.reduce(nil) do |errors, (reply, _)| if write_concern_errors = reply.documents.first['writeConcernErrors'] (errors || []) << write_concern_errors.reduce(nil) do |errs, wce| wce.merge!('index' => count + wce['index']) (errs || []) << write_concern_error end end end end
#aggregate_write_errors(count) ⇒ Array
::Mongo::Operation::Aggregate
the write errors returned from this result.
# File 'lib/mongo/operation/shared/result/aggregatable.rb', line 38
def aggregate_write_errors(count) return unless @replies @replies.reduce(nil) do |errors, reply| if write_errors = reply.documents.first['writeErrors'] wes = write_errors.collect do |we| we.merge!('index' => count + we['index']) end (errors || []) << wes if wes end end end