Method: Mongo::Collection::View::MapReduce#each

Defined in:
lib/mongo/collection/view/map_reduce.rb

#each {|Each| ... } ⇒ Enumerator

Iterate through documents returned by the map/reduce.

Examples:

Iterate through the result of the map/reduce.

map_reduce.each do |document|
  p document
end

Yield Parameters:

  • Each (Hash)

    matching document.

Returns:

  • (Enumerator)

    The enumerator.

Since:

  • 2.0.0



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/mongo/collection/view/map_reduce.rb', line 71

def each
  @cursor = nil
  session = client.send(:get_session, @options)
  server = cluster.next_primary(nil, session)
  result = send_initial_query(server, session, context: Operation::Context.new(client: client, session: session))
  result = send_fetch_query(server, session) unless inline?
  @cursor = Cursor.new(view, result, server, session: session)
  if block_given?
    @cursor.each do |doc|
      yield doc
    end
  else
    @cursor.to_enum
  end
end