Class: Mongo::BulkWrite::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/mongo/bulk_write/result.rb

Overview

Wraps a series of bulk write operations in a result object.

Since:

  • 2.0.6

Constant Summary collapse

REMOVED_COUNT =

Constant for number removed.

Since:

  • 2.1.0

'n_removed'.freeze
INSERTED_COUNT =

Constant for number inserted.

Since:

  • 2.1.0

'n_inserted'.freeze
INSERTED_IDS =

Constant for inserted ids.

Since:

  • 2.1.0

'inserted_ids'.freeze
MATCHED_COUNT =

Constant for number matched.

Since:

  • 2.1.0

'n_matched'.freeze
MODIFIED_COUNT =

Constant for number modified.

Since:

  • 2.1.0

'n_modified'.freeze
UPSERTED =

Constant for upserted.

Since:

  • 2.1.0

'upserted'.freeze
UPSERTED_COUNT =

Constant for number upserted.

Since:

  • 2.1.0

'n_upserted'.freeze
UPSERTED_IDS =

Constant for upserted ids.

Since:

  • 2.1.0

'upserted_ids'.freeze
FIELDS =

The fields contained in the result document returned from executing the operations.

Since:

  • 2.1.0.

[
  INSERTED_COUNT,
  REMOVED_COUNT,
  MODIFIED_COUNT,
  UPSERTED_COUNT,
  MATCHED_COUNT,
  Operation::Result::N
].freeze

Instance Method Summary collapse

Constructor Details

#initialize(results, acknowledged) ⇒ Result

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Create the new result object from the results document.

Examples:

Create the new result.

Result.new({ 'n_inserted' => 10 })

Parameters:

  • results (BSON::Document, Hash)

    The results document.

  • acknowledged (Boolean)

    Is the result acknowledged?

Since:

  • 2.1.0



107
108
109
110
# File 'lib/mongo/bulk_write/result.rb', line 107

def initialize(results, acknowledged)
  @results = results
  @acknowledged = acknowledged
end

Instance Method Details

#acknowledged?Boolean

Returns Is the result acknowledged?.

Returns:

  • (Boolean)

    Is the result acknowledged?

Since:

  • 2.0.6



27
28
29
# File 'lib/mongo/bulk_write/result.rb', line 27

def acknowledged?
  @acknowledged
end

#deleted_countInteger

Returns the number of documents deleted.

Examples:

Get the number of deleted documents.

result.deleted_count

Returns:

  • (Integer)

    The number deleted.

Since:

  • 2.1.0



92
93
94
# File 'lib/mongo/bulk_write/result.rb', line 92

def deleted_count
  @results[REMOVED_COUNT]
end

#inserted_countInteger

Returns the number of documents inserted.

Examples:

Get the number of inserted documents.

result.inserted_count

Returns:

  • (Integer)

    The number inserted.

Since:

  • 2.1.0



120
121
122
# File 'lib/mongo/bulk_write/result.rb', line 120

def inserted_count
  @results[INSERTED_COUNT]
end

#inserted_idsArray<BSON::ObjectId>

Get the inserted document ids, if the operation has inserts.

Examples:

Get the inserted ids.

result.inserted_ids

Returns:

  • (Array<BSON::ObjectId>)

    The inserted ids.

Since:

  • 2.1.0



132
133
134
# File 'lib/mongo/bulk_write/result.rb', line 132

def inserted_ids
  @results[INSERTED_IDS]
end

#matched_countInteger

Returns the number of documents matched.

Examples:

Get the number of matched documents.

result.matched_count

Returns:

  • (Integer)

    The number matched.

Since:

  • 2.1.0



144
145
146
# File 'lib/mongo/bulk_write/result.rb', line 144

def matched_count
  @results[MATCHED_COUNT]
end

#modified_countInteger

Returns the number of documents modified.

Examples:

Get the number of modified documents.

result.modified_count

Returns:

  • (Integer)

    The number modified.

Since:

  • 2.1.0



156
157
158
# File 'lib/mongo/bulk_write/result.rb', line 156

def modified_count
  @results[MODIFIED_COUNT]
end

#upserted_countInteger

Returns the number of documents upserted.

Examples:

Get the number of upserted documents.

result.upserted_count

Returns:

  • (Integer)

    The number upserted.

Since:

  • 2.1.0



168
169
170
# File 'lib/mongo/bulk_write/result.rb', line 168

def upserted_count
  @results[UPSERTED_COUNT]
end

#upserted_idsArray<BSON::ObjectId>

Get the upserted document ids, if the operation has inserts.

Examples:

Get the upserted ids.

result.upserted_ids

Returns:

  • (Array<BSON::ObjectId>)

    The upserted ids.

Since:

  • 2.1.0



180
181
182
# File 'lib/mongo/bulk_write/result.rb', line 180

def upserted_ids
  @results[UPSERTED_IDS] || []
end

#validate!Result

Validates the bulk write result.

Examples:

Validate the result.

result.validate!

Returns:

Raises:

Since:

  • 2.1.0



194
195
196
197
198
199
200
# File 'lib/mongo/bulk_write/result.rb', line 194

def validate!
  if @results['writeErrors'] || @results['writeConcernErrors']
    raise Error::BulkWriteError.new(@results)
  else
    self
  end
end