Class: Mongo::BulkWrite::Result

Inherits:
Object
  • Object
show all
Defined in:
build/ruby-driver-v2.19/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

[View source]

107
108
109
110
# File 'build/ruby-driver-v2.19/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

[View source]

27
28
29
# File 'build/ruby-driver-v2.19/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

[View source]

92
93
94
# File 'build/ruby-driver-v2.19/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

[View source]

120
121
122
# File 'build/ruby-driver-v2.19/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

[View source]

132
133
134
# File 'build/ruby-driver-v2.19/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

[View source]

144
145
146
# File 'build/ruby-driver-v2.19/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

[View source]

156
157
158
# File 'build/ruby-driver-v2.19/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

[View source]

168
169
170
# File 'build/ruby-driver-v2.19/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

[View source]

180
181
182
# File 'build/ruby-driver-v2.19/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

[View source]

194
195
196
197
198
199
200
# File 'build/ruby-driver-v2.19/lib/mongo/bulk_write/result.rb', line 194

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