Clase: Mongo::CachingCursor

Hereda:
Cursor
  • Objeto
Mostrar todo
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

Atributos heredados de Cursor

#connection, #context, #initial_result, #resume_token, #servidor, #view

Resumen del método de instancia colapsar

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_docsarreglo <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.

Devuelve:

  • (Matriz <BSON::Document>)

    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

#eachObject

Iteramos sobre los documentos en caché si ya existen en el cursor; de lo contrario, procedemos como de costumbre.

Ejemplos:

Iterar sobre los documentos.

cursor.each do |doc|
  # ...
end


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

#inspectString

Obtén una representación en string legible por humanos de Cursor.

Ejemplos:

Inspecciona el cursor.

cursor.inspect

Devuelve:

  • (string)

    Una representación en string de una instancia 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_nextObjeto

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