Clase: Mongo::CachingCursor
- Hereda:
-
Cursor
- Objeto
- Cursor
- Mongo::CachingCursor
- Definido en:
- lib/mongo/caching_cursor.rb
Overview
Un cursor que intenta cargar documentos desde la memoria primero antes de acceder a la base de datos si la misma query ya se ha ejecutado.
Resumen de atributos de la instancia colapsar
-
#cached_docs ⇒ Array <BSON::Document>
Solo lectura
privado
Los documentos almacenados en caché del cursor.
Atributos heredados de Cursor
#connection, #context, #initial_result, #resume_token, #servidor, #view
Resumen del método de instancia colapsar
-
#each(&block) ⇒ Object
Iteramos sobre los documentos en caché si ya existen en el cursor; de lo contrario, procedemos como de costumbre.
-
#inspect ⇒ string
Obtén una representación en string legible por humanos de
Cursor. -
#try_next ⇒ Objeto
privado
Obtiene el siguiente documento para la iteración del cursor y luego inserta ese documento en el arreglo @cached_docs.
Métodos heredados de Cursor
#batch_size, #close, #closed?, #collection_name, finalize, #fully_iterated?, #get_more, #id, #initialize, #kill_spec, #refresh_timeout!
Métodos incluidos de Retryable
#read_worker, #select_server, #with_overload_retry, #write_worker
Detalles del Constructor
Esta clase hereda un constructor de Mongo::Cursor
Detalles de atributo de instancias
#cached_docs ⇒ arreglo <BSON::Document> (solo lectura)
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve los documentos almacenados en caché del cursor.
25 26 27 |
# Archivo 'lib/mongo/caching_cursor.rb', línea 25 def cached_docs @cached_docs end |
Detalles del método de instancia
#each(&bloque) ⇒ Objeto
Iteramos sobre los documentos en caché si ya existen en el cursor; de lo contrario, procedemos como de costumbre.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# Archivo 'lib/mongo/caching_cursor.rb', línea 34 def cada(&bloque) si @cached_docs @cached_docs.cada(&bloque) a menos que ¿Cerrado? # StopIteration generado por try_next termina este ciclo. bucle hacer Documento = try_next rendimiento Documento si Documento end end else super end end |
#inspect ⇒ String
Obtén una representación en string legible por humanos de Cursor.
56 57 58 |
# Archivo 'lib/mongo/caching_cursor.rb', línea 56 def inspeccionar "#<Mongo::CachingCursor:0x#{object_id} @view=#{@view.inspect}>" end |
#try_next ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtiene el siguiente documento para la iteración del cursor y luego inserta ese documento en el arreglo @cached_docs.
64 65 66 67 68 69 70 |
# Archivo 'lib/mongo/caching_cursor.rb', línea 64 def try_next @cached_docs ||= [] Documento = super @cached_docs << Documento si Documento Documento end |