Módulo: Mongo::Collection::View::Iterable

Inclui:
Mongo::CursorHost
Incluído em:
Mongo::Collection::View, Aggregation::Comportamento
Definido em:
lib/mongo/collection/view/iterable.rb

Visão geral

Define o comportamento relacionado à iteração para visualizações de coleções, incluindo a instanciação do cursor.

Desde:

  • 2.0.0

Resumo do atributo de instância

Atributos incluídos do Mongo::CursorHost

#cursor, #timeout_mode

Recolhimento do Resumo do método de instância

Métodos incluídos do Mongo::CursorHost

#validate_timeout_mode!

Detalhes do método de instância

#close_query ➤ nil Também conhecido como: kill_cursors

Observação:

Esse método propaga quaisquer erros que ocorrem ao fechar o cursor do lado do servidor.

Limpa os recursos associados a esta query.

Se houver um cursor de servidor associado a esta query, ele será fechado enviando um comando KillCursors para o servidor.

Retorna:

  • (nil)

    Sempre nulo.

Aumenta:

Desde:

  • 2.1.0

[Ver fonte]

75
76
77
78
79
# File 'lib/mongo/collection/view/iterable.rb', linha 75

def close_query
  se @cursor
    @cursor.Fechar
  end
end

#cada {|Cada| ... } ➤ Enumerador

Iterar através de documentos retornados por uma query com este View.

Exemplos:

Iterar através do resultado da visualização.

view.each do |document|
  p document
end

Parâmetros de rendimento:

  • Cada (Hash)

    documento correspondente.

Retorna:

  • (Enumerador)

    O enumerador.

Desde:

  • 2.0.0

[Ver fonte]

43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/mongo/collection/view/iterable.rb', linha 43

def cada
  @cursor = prefer_cached_cursor? ? cached_cursor : new_cursor_for_iteration
  Método @cursor.to_enum a menos que block_given?

  limit_for_cached_query = compute_limit_for_cached_query

  # As versões 2.5 e mais antigas do Ruby não suportam a sintaxe arr[0..nil], então
  # esta deve ser uma condicional separada.
  cursor_to_iterate = se limit_for_cached_query
    @cursor.to_a[0...limit_for_cached_query]
  mais
    @cursor
  end

  cursor_to_iterate.cada fazer |doc|
    rendimento doc
  end
end