Módulo: Mongo::colección::View::Iterable

Incluye:
Mongo::CursorHost
Incluido en:
Mongo::colección::View, agregación::Behavior
Definido en:
lib/mongo/colección/vista/iterable.rb

Overview

Define el comportamiento relacionado con la iteración para las vistas de colección, incluida la creación de instancias de cursor.

Desde:

  • 2.0.0

Resumen del atributo de la instancia

Atributos incluidos de Mongo::CursorHost

#cursor, #timeout_mode

Resumen del método de instancia colapsar

Métodos incluidos desde Mongo::CursorHost

#validate_timeout_mode!

Detalles del método de instancia

#close_querynil También conocido como: kill_cursors

Nota:

Este método propaga cualquier error que ocurra al cerrar el cursor del lado del servidor.

Limpia los recursos asociados con esta consulta.

Si hay un cursor de servidor asociado con esta consulta, se cierra enviando un comando KillCursors al servidor.

Devuelve:

  • (nil)

    Siempre nulo.

Aumenta:

Desde:

  • 2.1.0



75
76
77
78
79
# Archivo 'lib/mongo/collection/view/iterable.rb', línea 75

def close_query
  si @cursor
    @cursor.Cerrar
  end
end

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

Iterar a través de los documentos devueltos por una consulta con este View.

Ejemplos:

Itera a través del resultado de la vista.

view.each do |document|
  p document
end

Parámetros de rendimiento:

  • Cada uno (encriptada)

    documento coincidente

Devuelve:

  • (Enumerator)

    El enumerador.

Desde:

  • 2.0.0



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Archivo 'lib/mongo/collection/view/iterable.rb', línea 43

def cada
  @cursor = prefer_cached_cursor? ? cached_cursor : nuevo_cursor_para_iteración
  return @cursor.to_enum a menos que ¿block_given?

  límite_para_consultas_en_caché = límite de cálculo para consultas en caché

  # Las versiones Ruby 2.5 y anteriores no soportan la sintaxis arr[0..nil], por lo que
  # esto debe ser una condicional aparte.
  cursor_to_iterate = si límite_para_consultas_en_caché
    @cursor.to_a[0...límite_para_consultas_en_caché]
  else
    @cursor
  end

  cursor_to_iterate.cada hacer |doc|
    rendimiento doc
  end
end