Classificação: Mongo::Collection::View
- Herda:
-
Objeto
- Objeto
- Mongo::collection::Visualizar
- Estendido por:
- Encaminhável
- Inclui:
- Enumerável, Explicável, Imutável, Iterável, Legível, Gravável
- Definido em:
- lib/mongo/collection/view.rb,
lib/mongo/collection/view/iterable.rb,
lib/mongo/collection/view/readable.rb,
lib/mongo/collection/view/writable.rb,
lib/mongo/ collection/view/immutable.rb,
lib/mongo/collection/view/map_reduce.rb,
lib/mongo/collection/view/ agregação.rb,
lib/mongo/collection/view/explainable.rb,
lib/mongo/collection/ view/change_stream.rb,
lib/mongo/collection/view/builder/map_reduce.rb,
lib/mongo/collection/view/builder/ agregação.rb,
lib/mongo/collection/view/ agregação/behavior.rb,
lib/ mongo/collection/view/change_stream/retryable.rb mais...
Visão geral
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.
Definido sob namespace
Módulos: Construtor, Explainable, Imutable, Iterable, Readable, Gravável Classes: Aggregation, ChangeStream, MapReduce
Resumo constante
Constantes incluídas de Gravável
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
-
#collection ➤ Collection
Somente leitura
O
Collection
para fazer query. -
#filtro ➤ Hash (também: #selector)
Somente leitura
O filtro de query.
-
#operation_timeout_ms ➤ Inteiro | nada | O valor de timeout_ms que foi passado como uma opção para a visualização.
Somente leitura
privado
Inteiro | nada | O valor de timeout_ms que foi passado como uma opção para a visualização.
Atributos incluídos do Mongo::CursorHost
Atributos incluídos no Imutable
Recolhimento do Resumo do método de instância
-
#==(outros) ➤ verdadeiro, falso (também: #eql?)
Compare dois objetos
View
. -
#hash ➤ inteiro
Um valor de hash para o
View
composto pelo namespace da coleção, hash das opções e hash do filtro. -
#inicializar(coleção, filtro = {}, opções = {}) ➤ Visualizar
construtor
Cria um novo
View
. -
#inspecionar ➤ string
Obtenha uma representação de string legível por humanos de
View
. -
#operation_timeouts(opts = {}) ➤ Hash
privado
Valor de timeout_ms definido no nível de operação (se houver) e/ou timeout_ms definido no nível de coleção/ banco de dados/ cliente (se houver).
-
#timeout_ms ⇒ Integer | nil
O valor de timeout_ms a ser usado para essa operação; especificado como uma opção para a visualização ou herdado da collection.
-
#write_concern ➤ Mongo::WriteConcern
Obtenha a preocupação de gravação neste
View
.
Métodos incluídos do Gravável
Métodos incluídos no Explainable
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
Métodos incluídos do Mongo::CursorHost
Detalhes do construtor
#inicializar(coleção, filtro = {}, opções = {}) ➤ Visualizar
Cria um novo View
.
169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
# Arquivo 'lib/mongo/collection/view.rb', linha 169 def inicializar(collection, filtro, filtro = {}, = {}) validate_doc!(filtro, filtro) filtro, filtro = BSON::Documento.Novo(filtro, filtro) = BSON::Documento.Novo() @collection = collection @operation_timeout_ms = .excluir(:timeout_ms) validate_timeout_mode!() # É 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(.excluir(:modifiers) || {}) @filter = (Query || filtro, filtro).congelar @opções = (operação)::encontrar::Construtor::Modifiers.(modifiers).mesclar!().congelar end |
Detalhes do atributo da instância
#collection ➤ Collection (somente leitura)
Retorna Collection
para query.
56 57 58 |
# Arquivo 'lib/mongo/collection/view.rb', linha 56 def collection @collection end |
#filter ➤ Hash (somente leitura) Também conhecido como: seletor
Retorna o filtro de query.
59 60 61 |
# Arquivo 'lib/mongo/collection/view.rb', linha 59 def filtro, filtro @filter end |
#operation_timeout_ms ➤ Inteiro | nada | O valor de timeout_ms que foi passado como uma opção para a visualização. (somente leitura)
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 o número inteiro | nada | O valor de timeout_ms que foi passado como uma opção para a visualização.
81 82 83 |
# Arquivo 'lib/mongo/collection/view.rb', linha 81 def operation_timeout_ms @operation_timeout_ms end |
Detalhes do método de instância
#==(outro) ➤ true, false Também conhecido como: eql?
Compare dois objetos View
.
92 93 94 95 96 97 |
# Arquivo 'lib/mongo/collection/view.rb', linha 92 def ==(Outro) Método false a menos que Outro.is_a?(Vista) collection == Outro.collection && filtro, filtro == Outro.filtro, filtro && == Outro. end |
#hash ➤ inteiro
Um valor de hash para o View
composto pelo namespace da coleção, hash das opções e hash do filtro.
109 110 111 |
# Arquivo 'lib/mongo/collection/view.rb', linha 109 def hash [ collection.namespace, .hash, filtro, filtro.hash ].hash end |
#inspecionar ➤ string
Obtenha uma representação de string legível por humanos de View
.
207 208 209 210 |
# Arquivo 'lib/mongo/collection/view.rb', linha 207 def inspecionar "#<Mongo::Collection::View:0x#{object_id} namespace='#{collection.namespace}'" + " @filter=#{filter.to_s} @options=#{.to_s}>" end |
#operation_timeouts(opts = {}) ➤ Hash
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 o valor de timeout_ms definido no nível de operação (se houver) e/ou timeout_ms definido no nível de coleção/ banco de dados/ cliente (se houver).
228 229 230 231 232 233 234 235 236 |
# Arquivo 'lib/mongo/collection/view.rb', linha 228 def operation_timeouts(opciona = {}) {}.toque fazer |Resultado| se opciona[:timeout_ms] || operation_timeout_ms Resultado[:operation_timeout_ms] = opciona[:timeout_ms] || operation_timeout_ms mais Resultado[:inherited_timeout_ms] = collection.timeout_ms end end end |
#timeout_ms ⇒ Integer | nil
O valor de timeout_ms a ser usado para essa operação; especificado como uma opção para a visualização ou herdado da collection.
195 196 197 |
# Arquivo 'lib/mongo/collection/view.rb', linha 195 def timeout_ms operation_timeout_ms || collection.timeout_ms end |
#write_concern ➤ Mongo::WriteConcern
Obtenha a preocupação de gravação neste View
.
220 221 222 |
# Arquivo 'lib/mongo/collection/view.rb', linha 220 def write_concern Escreva preocupação.obter([:write_concern] || [:write] || collection.write_concern) end |