module Mongo::Operation::Result::Aggregatable
Defines custom behavior of bulk write results
@since 2.0.0
Public Instance Methods
aggregate_write_concern_errors(count)
click to toggle source
Aggregate
the write concern errors returned from this result.
@example Aggregate
the write concern errors.
result.aggregate_write_concern_errors(100)
@param [ Integer ] count The number of documents already executed.
@return [ Array ] The aggregate write concern errors.
@since 2.0.0
# 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['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)
click to toggle source
Aggregate
the write errors returned from this result.
@example Aggregate
the write errors.
result.aggregate_write_errors(0)
@param [ Integer ] count The number of documents already executed.
@return [ Array ] The aggregate write errors.
@since 2.0.0
# 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['writeErrors'] wes = write_errors.collect do |we| we.merge!('index' => count + we['index']) end (errors || []) << wes if wes end end end