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/view/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.
Resumen del atributo de la instancia
Atributos incluidos de Mongo::CursorHost
Resumen del método de instancia colapsar
-
#close_query ⇒ nil (también: #kill_cursors)
Limpia los recursos asociados con esta query.
-
#each {|Each| ... } ⇒ Enumerator
Itera en los documentos devueltos por una query con este
View.
Métodos incluidos de Mongo::CursorHost
Detalles del método de instancia
#close_query ⇒ nil 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 query.
Si hay un cursor de servidor asociado a esta query, se cierra enviando un comando KillCursors al servidor.
72 73 74 75 76 |
# Archivo 'lib/mongo/colección/view/iterable.rb', línea 72 def close_query return a menos que @cursor @cursor.Cerrar end |
#each {|Each| ... } ⇒ Enumerator
Itera en los documentos devueltos por una query con este View.
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# Archivo 'lib/mongo/colección/view/iterable.rb', línea 41 def cada(&bloque) @cursor = prefer_cached_cursor? ? cached_cursor : nuevo_cursor_para_iteración return @cursor.to_enum a menos que ¿block_given? límite_para_consulta_en caché = compute_limit_for_cached_query # POR HACER: en lugar de extraer todo el conjunto de resultados (limitados) en # memoria, esto debería informar al cursor sobre el límite y luego dejar # el cursor limita la iteración según sea necesario. cursor_to_iterate = si límite_para_consulta_en caché @cursor.to_a[0...límite_para_consulta_en caché] else @cursor end cursor_to_iterate.cada(&bloque) end |