Module: Mongo::Operation::Write::Bulk::Mergable
- Included in:
- Delete::Result, Insert::Result, Update::Result
- Defined in:
- lib/mongo/operation/write/bulk/mergable.rb
Overview
This module contains common functionality for merging results from write commands during a bulk operation. Used for server versions >= 2.6.
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.
57 58 59 60 61 62 63 64 65 66 |
# File 'lib/mongo/operation/write/bulk/mergable.rb', line 57 def aggregate_write_concern_errors(count) @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.
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/mongo/operation/write/bulk/mergable.rb', line 36 def aggregate_write_errors(count) @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 |