Classificação: Mongo::Collection::View

Herda:
Objeto
  • Objeto
mostrar tudo
Estendido por:
Encaminhável
Inclui:
Enumerável, Explicável, Imutável, Iterável, Legível, Gravável
Definido em:
build/ruby-driver-v2.19/lib/mongo/collection/view.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/iterable.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/readable.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/writable.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/immutable.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/map_reduce.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/explainable.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/change_stream.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/builder/map_reduce.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/builder/aggregation.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/change_stream/retryable.rb

Visão geral

Observação:

A API View é semipública.

Representação de uma query e opções para produzir um conjunto de resultados de documentos.

Um View pode ser modificado utilizando ajudantes. Os auxiliares podem ser encadeados, pois cada um retorna um View se argumentos forem fornecidos.

A mensagem de query é enviada ao servidor quando um "terminator" é chamado. Por exemplo, quando #each é chamado em um View, um objeto Cursor é criado, que envia a query para o servidor.

Um View não é criado diretamente por um usuário. Em vez disso, View cria um View quando uma operação CRUD é chamada e a retorna ao usuário para interação.

Desde:

  • 2.0.0

Definido sob namespace

Módulos: Construtor, Explainable, Imutable, Iterable, Readable, Gravável Classes: Aggregation, ChangeStream, MapReduce

Resumo constante

Constantes incluídas de Gravável

Gravável::ARRAY_FILTERS

Constantes incluídas de Explainable

Explicável::ALL_PLANS_EXECUTION, Explicável:: EXECUTION_STATS , Explicável::QUERY_PLANNER

Recolhimento do Resumo do atributo de instância

Atributos incluídos no Iterable

#cursor

Atributos incluídos no Imutable

#options

Recolhimento do Resumo do método de instância

Métodos incluídos do Gravável

. _ _ _ _ _ _ _

Métodos incluídos no Explainable

#explain

Métodos incluídos no Readable

#aggregate, #allow_disk_use, #allow_partial_results, #await_data, #batch_size, #comment, #count, #count_documents, #cursor_type, #distinct, #estimated_document_count, #hint, #limit, #map_reduce, #max_await_time_ms, #max_scan, #max_time_ms, ... _ _ _ _ _ _ _ _ _ _ _

Métodos incluídos do Iterable

#close_query, #each

Detalhes do construtor

#inicializar(coleção, filtro = {}, opções = {}) ➤ Visualizar

Cria um novo View.

Exemplos:

Encontre todos os usuários chamados Emily.

View.new(collection, {:name => 'Emily'})

Encontre todos os usuários chamados Emy pulando 5 e retornando 10.

View.new(collection, {:name => 'Emily'}, :skip => 5, :limit => 10)

Encontre todos os usuários chamados Emilly usando uma preferência de leitura específica.

View.new(collection, {:name => 'Emily'}, :read => :secondary_preferred)

Parâmetros:

  • collection (Collection)

    O Collection para fazer query.

  • filtro, filtro (Hash) (padrão para: {})

    O filtro de query.

  • opções (Hash) (padrão para: {})

    As opções de query adicionais.

Hash de opções (opções):

  • :allow_disk_use (verdadeiro, falso)

    When set to true, the server can write temporary data to disk while executing the find operation. Esta opção só está disponível nas versões 4.4 e mais recentes do MongoDB Server.

  • :batch_size (Inteiro)

    O número de documentos a serem devolvidos em cada resposta do MongoDB.

  • :collation (Hash)

    O agrupamento a ser usado.

  • :comentário (string)

    Associe um comentário à query.

  • :explicar (Hash)

    Execute uma explicação com as opções de explicação fornecidas (as opções conhecidas são :verbose e :verbosity) em vez de uma localização.

  • :hint (Hash)

    Substitua a seleção de índice padrão e force o MongoDB a usar um índice específico para a query.

  • :limit (Inteiro)

    Número máximo de documentos a retornar.

  • :max_scan (Inteiro)

    Restringir a query para digitalizar apenas o número especificado de documentos. Use para evitar que as queries sejam executadas por muito tempo. Obsoleto a partir da versão 4.0 do servidor MongoDB .

  • :projection (Hash)

    Os campos a incluir ou excluir nos documentos devolvidos.

  • :read (Hash)

    A preferência de leitura a ser usada para a query. Se nenhuma for fornecida, a preferência de leitura padrão da coleção será usada.

  • :read_concern (Hash)

    A preocupação de leitura a ser usada para a consulta.

  • :show_disk_loc (verdadeiro | falso)

    Retorne informações de localização do disco como um campo em cada documento.

  • :skip (Inteiro)

    O número de documentos a ignorar.

  • :snapshot (verdadeiro | falso)

    Impede a devolução de um documento mais de uma vez. Obsoleto a partir da versão 4.0 do servidor MongoDB .

  • :sort (Hash)

    Os pares de chave e direção usados para classificar os resultados.

Desde:

  • 2.0.0



155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
# File 'build/ruby-driver-v2.19/lib/mongo/collection/view.rb', linha 155

def inicializar(collection, filtro, filtro = {}, opções = {})
  validate_doc!(filtro, filtro)
  @collection = collection

  filtro, filtro = BSON::Documento.Novo(filtro, filtro)
  opções = BSON::Documento.Novo(opções)

  # É quando os usuários passam $query no filtro e outros modificadores
  # ao lado?
  Query = filtro, filtro.excluir(:$query)
  # Isso faz com que os modificadores contenham o filtro se o filtro não for
  # fornecido via $query , mas como chaves de nível superior, presumivelmente
  # o código downstream ignora as chaves não modificadoras nos modificadores?
  modifiers = filtro, filtro.mesclar(opções.excluir(:modifiers) || {})
  @filter = (Query || filtro, filtro).congelar
  @opções = (operação)::encontrar::Construtor::Modifiers.map_driver_options(modifiers).mesclar!(opções).congelar
end

Detalhes do atributo da instância

#collectionCollection (somente leitura)

Retorna Collection para query.

Retorna:

Desde:

  • 2.0.0



56
57
58
# File 'build/ruby-driver-v2.19/lib/mongo/collection/view.rb', linha 56

def collection
  @collection
end

#filterHash (somente leitura) Também conhecido como: seletor

Retorna o filtro de query.

Retorna:

  • (Hash)

    O filtro de query.

Desde:

  • 2.0.0



59
60
61
# File 'build/ruby-driver-v2.19/lib/mongo/collection/view.rb', linha 59

def filtro, filtro
  @filter
end

Detalhes do método de instância

#==(outro) ➤ true, false Também conhecido como: eql?

Compare dois objetos View .

Exemplos:

Compare a visualização com outro objeto.

view == other

Retorna:

  • (verdadeiro, falso)

    Igual se a collection, o filtro e as opções de dois View corresponderem.

Desde:

  • 2.0.0



86
87
88
89
90
91
# File 'build/ruby-driver-v2.19/lib/mongo/collection/view.rb', linha 86

def ==(Outro)
  Método false a menos que Outro.is_a?(Vista)
  collection == Outro.collection &&
      filtro, filtro == Outro.filtro, filtro &&
      opções == Outro.opções
end

#hashinteiro

Um valor de hash para o View composto pelo namespace da coleção, hash das opções e hash do filtro.

Exemplos:

Obtenha o valor de hash.

view.hash

Retorna:

  • (Inteiro)

    Um valor de hash do objeto View .

Desde:

  • 2.0.0



103
104
105
# File 'build/ruby-driver-v2.19/lib/mongo/collection/view.rb', linha 103

def hash
  [ collection.namespace, opções.hash, filtro, filtro.hash ].hash
end

#inspecionarstring

Obtenha uma representação de string legível por humanos de View.

Exemplos:

Faça a inspeção.

view.inspect

Retorna:

  • (string)

    Uma representação de string de uma instância do View .

Desde:

  • 2.0.0



181
182
183
184
# File 'build/ruby-driver-v2.19/lib/mongo/collection/view.rb', linha 181

def inspecionar
  "#<Mongo::Collection::View:0x#{object_id} namespace='#{collection.namespace}'" +
      " @filter=#{filter.to_s} @options=#{options.to_s}>"
end

#write_concern ➤ Mongo::WriteConcern

Obtenha a preocupação de gravação neste View.

Exemplos:

Obtenha a preocupação de gravação.

view.write_concern

Retorna:

Desde:

  • 2.0.0



194
195
196
# File 'build/ruby-driver-v2.19/lib/mongo/collection/view.rb', linha 194

def write_concern
  Escreva preocupação.obter(opções[:write_concern] || opções[:write] || collection.write_concern)
end