Classe: Mongo::CashingCursor
- Herda:
-
Cursor
- Objeto
- Cursor
- Mongo::CashingCursor
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/cashing_cursor.rb
Visão geral
Um cursor que tenta carregar documentos da memória primeiro antes de atingir o banco de dados se a mesma query já tiver sido executada.
Recolhimento do Resumo do atributo de instância
-
#cached_docs ➤ Array <BSON::Document>
Somente leitura
privado
Os documentos em cache do cursor.
Atributos herdados do cursor
#initial_result, #resume_token, #server, #view
Recolhimento do Resumo do método de instância
-
#cada Objeto 3
Iteramos sobre os documentos em cache se eles já existirem no cursor, caso contrário, prosseguiremos normalmente.
-
#inspecionar ➤ string
Obtenha uma representação de string legível por humanos de
Cursor
. -
#try_next ➤ Objeto
privado
Adquire o próximo documento para iteração do cursor e, em seguida, insere esse documento na array @cached_docs.
Métodos herdados do Cursor
#batch_size, #close, #closed?, #collection_name, finalize, #full_iterated?, #get_more, #id, #initialize, #kill_spec, #to_return
Métodos incluídos no Retryable
#read_worker, #select_server, #write_worker
Detalhes do construtor
Esta classe herda um construtor do Mongo::Cursor
Detalhes do atributo da instância
#cached_docs ➤ Array <BSON::Document> (readonly)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna os documentos em cache do cursor.
28 29 30 |
# File 'build/ruby-driver-v2.19/lib/mongo/cashing_cursor.rb', linha 28 def cached_docs @cached_docs end |
Detalhes do método de instância
#cada Objeto3
Iteramos sobre os documentos em cache se eles já existirem no cursor, caso contrário, prosseguiremos normalmente.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'build/ruby-driver-v2.19/lib/mongo/cashing_cursor.rb', linha 37 def cada se @cached_docs @cached_docs.cada fazer |doc| rendimento doc end a menos que fechado? # A StopIteration gerada por try_next encerra este loop. loop fazer documento = try_next rendimento documento se documento end end mais super end end |
#inspecionar ➤ string
Obtenha uma representação de string legível por humanos de Cursor
.
61 62 63 |
# File 'build/ruby-driver-v2.19/lib/mongo/cashing_cursor.rb', linha 61 def inspecionar "#<Mongo::CashingCursor:0x#{object_id} @view=#{@view.inspect}>" end |
#try_next ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Adquire o próximo documento para iteração do cursor e, em seguida, insere esse documento na array @cached_docs.
69 70 71 72 73 74 75 |
# File 'build/ruby-driver-v2.19/lib/mongo/cashing_cursor.rb', linha 69 def try_next @cached_docs ||= [] documento = super @cached_docs << documento se documento documento end |