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 de atributos de instancia

Atributos incluidos desde Mongo::CursorHost

#cursor, #timeout_mode

Colapso del resumen del método de instancia

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.

Aumentos:

Desde:

  • 2.1.0



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

def cerrar_consulta
  Si @cursor
    @cursor.cerrar
  end
end

#cada {|Cada|... } ⇒ Enumerador

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

Ejemplos:

Iterar a través del resultado de la vista.

view.each do |document|
  p document
end

Parámetros de rendimiento:

  • Cada (Hash)

    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 no ser que ¿bloque_dado?

  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 un condicional separado.
  cursor_para_iterar = Si límite_para_consultas_en_caché
    @cursor.to_a[0...límite_para_consultas_en_caché]
  else
    @cursor
  end

  cursor_para_iterar.cada hacer |doc|
    rendimiento doc
  end
end