Module: Mongo::Operation::Result::Aggregatable
- Defined in:
- lib/mongo/operation/shared/result/aggregatable.rb
Overview
Defines custom behavior of bulk write results
Instance Method Summary collapse
-
#aggregate_write_concern_errors(count) ⇒ Array
Aggregate the write concern errors returned from this result.
-
#aggregate_write_errors(count) ⇒ Array
Aggregate the write errors returned from this result.
Instance Method Details
#aggregate_write_concern_errors(count) ⇒ Array
Aggregate the write concern errors returned from this result.
56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/mongo/operation/shared/result/aggregatable.rb', line 56 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[Error::WRITE_CONCERN_ERRORS] (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
Aggregate the write errors returned from this result.
34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/mongo/operation/shared/result/aggregatable.rb', line 34 def aggregate_write_errors(count) return unless @replies @replies.reduce(nil) do |errors, reply| if write_errors = reply.documents.first[Error::WRITE_ERRORS] wes = write_errors.collect do |we| we.merge!('index' => count + we['index']) end (errors || []) << wes if wes end end end |