Module: Mongo::Operation::Write::Bulk::LegacyMergable
- Included in:
- Delete::LegacyResult, Insert::LegacyResult, Update::LegacyResult
- Defined in:
- lib/mongo/operation/write/bulk/legacy_mergable.rb
Overview
This module contains common functionality for merging results from writes 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.
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/mongo/operation/write/bulk/legacy_mergable.rb', line 58 def aggregate_write_concern_errors(count) @replies.each_with_index.reduce(nil) do |errors, (reply, i)| if error = reply_write_errors?(reply) errors ||= [] if note = reply.documents.first['wnote'] || reply.documents.first['jnote'] code = reply.documents.first['code'] || Error::BAD_VALUE error_string = "#{code}: #{note}" elsif error == 'timeout' code = reply.documents.first['code'] || Error::UNKNOWN_ERROR error_string = "#{code}: #{error}" end errors << { 'errmsg' => error_string, 'index' => count + i, 'code' => code } if error_string end errors end if @replies end |
#aggregate_write_errors(count) ⇒ Array
Aggregate the write errors returned from this result.
36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/mongo/operation/write/bulk/legacy_mergable.rb', line 36 def aggregate_write_errors(count) @replies.each_with_index.reduce(nil) do |errors, (reply, i)| if reply_write_errors?(reply) errors ||= [] errors << { 'errmsg' => reply.documents.first[Error::ERROR], 'index' => count + i, 'code' => reply.documents.first[Error::CODE] } end errors end if @replies end |