class Mongo::Error::BulkWriteError

Exception raised if there are write errors upon executing the bulk operation.

@since 2.0.0

Attributes

result[R]

@return [ BSON::Document ] result The error result.

Public Class Methods

new(result) click to toggle source

Instantiate the new exception.

@example Instantiate the exception.

Mongo::Error::BulkWriteError.new(response)

@param [ Hash ] result A processed response from the server

reporting results of the operation.

@since 2.0.0

Calls superclass method Mongo::Error::new
# File lib/mongo/error/bulk_write_error.rb, line 36
def initialize(result)
  @result = result
  # Exception constructor behaves differently for a nil argument and
  # for no argument. Avoid passing nil explicitly.
  super(*[build_message])
end

Private Instance Methods

build_message() click to toggle source
# File lib/mongo/error/bulk_write_error.rb, line 45
def build_message
  errors = @result['writeErrors']
  return nil unless errors

  fragment = errors.first(10).map do |error|
    "#{error['errmsg']} (#{error['code']})"
  end.join(', ')

  fragment += '...' if errors.length > 10

  fragment
end