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 ya se ha ejecutado la misma consulta.
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 ⇒ objeto
Iteramos sobre los documentos en caché si ya existen en el cursor; de lo contrario, procedemos como de costumbre.
-
#inspeccionar ⇒ Cadena
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
#tamaño_batch, #cerrar, #cerrado?, #nombre_colección, finalizar, #totalmente_iterado?, #obtener_más, #id, #inicializar, #kill_spec, #to_return
Métodos incluidos en Retryable
#read_worker, #select_server, #write_worker
Detalles del constructor
Esta clase hereda un constructor de Mongo::Cursor
Detalles de los atributos de instancia
#cached_docs ⇒ arreglo <BSON::Document> (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve los documentos almacenados en caché del cursor.
28 29 30 |
# Archivo 'lib/mongo/caching_cursor.rb', línea 28 def cached_docs @cached_docs end |
Detalles del método de instancia
#each ⇒ Object
Iteramos sobre los documentos en caché si ya existen en el cursor; de lo contrario, procedemos como de costumbre.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# Archivo 'lib/mongo/caching_cursor.rb', línea 37 def cada si @cached_docs @cached_docs.cada hacer |doc| rendimiento doc end 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.
61 62 63 |
# Archivo 'lib/mongo/caching_cursor.rb', línea 61 def inspeccionar "#<Mongo::CachingCursor:0x#{object_id} @view=#{@view.inspect }>" end |
#try_next ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo 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.
69 70 71 72 73 74 75 |
# Archivo 'lib/mongo/caching_cursor.rb', línea 69 def try_next @cached_docs ||= [] Documento = super @cached_docs << Documento si Documento Documento end |