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'
INSERTED_COUNT =

Constant for number inserted.

Since:

  • 2.1.0

'n_inserted'
INSERTED_IDS =

Constant for inserted ids.

Since:

  • 2.1.0

'inserted_ids'
MATCHED_COUNT =

Constant for number matched.

Since:

  • 2.1.0

'n_matched'
MODIFIED_COUNT =

Constant for number modified.

Since:

  • 2.1.0

'n_modified'
UPSERTED =

Constant for upserted.

Since:

  • 2.1.0

'upserted'
UPSERTED_COUNT =

Constant for number upserted.

Since:

  • 2.1.0

'n_upserted'
UPSERTED_IDS =

Constant for upserted ids.

Since:

  • 2.1.0

'upserted_ids'
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



104
105
106
107
# File 'lib/mongo/bulk_write/result.rb', line 104

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



24
25
26
# File 'lib/mongo/bulk_write/result.rb', line 24

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



89
90
91
# File 'lib/mongo/bulk_write/result.rb', line 89

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



117
118
119
# File 'lib/mongo/bulk_write/result.rb', line 117

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



129
130
131
# File 'lib/mongo/bulk_write/result.rb', line 129

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



141
142
143
# File 'lib/mongo/bulk_write/result.rb', line 141

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



153
154
155
# File 'lib/mongo/bulk_write/result.rb', line 153

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



165
166
167
# File 'lib/mongo/bulk_write/result.rb', line 165

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



177
178
179
# File 'lib/mongo/bulk_write/result.rb', line 177

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



191
192
193
194
195
# File 'lib/mongo/bulk_write/result.rb', line 191

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

  self
end