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
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
Collectionpara 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
Viewcomposto 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.
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 |
# Arquivo 'lib/mongo/collection/view.rb', linha 170 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.
54 55 56 |
# Arquivo 'lib/mongo/collection/view.rb', linha 54 def collection @collection end |
#filter ➤ Hash (somente leitura) Também conhecido como: seletor
Retorna o filtro de query.
57 58 59 |
# Arquivo 'lib/mongo/collection/view.rb', linha 57 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 98 |
# 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.
110 111 112 |
# Arquivo 'lib/mongo/collection/view.rb', linha 110 def hash [ collection.namespace, .hash, filtro, filtro.hash ].hash end |
#inspecionar ➤ string
Obtenha uma representação de string legível por humanos de View.
208 209 210 211 |
# Arquivo 'lib/mongo/collection/view.rb', linha 208 def inspecionar "#<Mongo::Collection::View:0x#{object_id} namespace='#{collection.namespace}'" + " @filter=#{filtro} @options=#{}>" 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).
229 230 231 232 233 234 235 236 237 |
# Arquivo 'lib/mongo/collection/view.rb', linha 229 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.
196 197 198 |
# Arquivo 'lib/mongo/collection/view.rb', linha 196 def timeout_ms operation_timeout_ms || collection.timeout_ms end |
#write_concern ➤ Mongo::WriteConcern
Obtenha a preocupação de gravação neste View.
221 222 223 |
# Arquivo 'lib/mongo/collection/view.rb', linha 221 def write_concern Escreva preocupação.obter([:write_concern] || [:write] || collection.write_concern) end |