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