module Mongo::BulkWrite::Combineable
Defines behavior around combiners
@api private
@since 2.1.0
Attributes
@return [ Array<Hash, BSON::Document> ] requests The provided requests.
Public Class Methods
Source
# File lib/mongo/bulk_write/combineable.rb, line 38 def initialize(requests) @requests = requests @has_collation = false @has_array_filters = false @has_hint = false end
Create the ordered combiner.
@api private
@example Create the ordered combiner.
OrderedCombiner.new([{ insert_one: { _id: 0 }}])
@param [ Array<Hash, BSON::Document> ] requests The bulk requests.
@since 2.1.0
Public Instance Methods
Source
# File lib/mongo/bulk_write/combineable.rb, line 53 def has_array_filters? @has_array_filters end
@return [ Boolean ] Whether one or more operation specifies the
array_filters option.
Source
# File lib/mongo/bulk_write/combineable.rb, line 47 def has_collation? @has_collation end
@return [ Boolean ] Whether one or more operation specifies the collation
option.
Source
# File lib/mongo/bulk_write/combineable.rb, line 59 def has_hint? @has_hint end
@return [ Boolean ] Whether one or more operation specifies the
hint option.
Private Instance Methods
Source
# File lib/mongo/bulk_write/combineable.rb, line 65 def combine_requests(ops) requests.reduce(ops) do |operations, request| add(operations, request.keys.first, request.values.first) end end