Class: Mongo::Database::View

Herda:
Objeto
  • Objeto
mostrar tudo
Estendido por:
Encaminhável
Inclui:
Enumerável, Cursor::NonTailable, CursorHost, Retryable
Definido em:
lib/mongo/database/view.rb

Visão geral

Uma classe que representa uma visualização de um banco de dados.

Desde:

  • 2.0.0

Recolhimento do Resumo do atributo de instância

Atributos incluídos do CursorHost

#cursor, #timeout_mode

Recolhimento do Resumo do método de instância

Métodos incluídos do Cursor::NonTailable

#cursor_type, #timeout_mode

Métodos incluídos do CursorHost

#validate_timeout_mode!

Métodos incluídos no Retryable

#read_worker, #select_server, #write_worker

Detalhes do construtor

#initialize(database, options = {}) ⇒ View

Crie a nova visualização do banco de dados.

Exemplos:

Crie a nova visualização do banco de dados.

Database::View.new(database)

Parâmetros:

  • database (Banco de dados)

    O banco de dados.

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

    As opções para configurar a visualização.

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

  • :timeout_mode (:cursor_Lifetime |:iteration)

    Como interpretar :timeout_ms (se ele se aplica à vida útil do cursor ou por iteração).

  • :timeout_ms (Inteiro)

    O tempo limite da operação em milissegundos. Deve ser um número inteiro não negativo. Um valor explícito de 0 significa infinito. O valor padrão não está definido, o que significa que o valor é herdado do banco de dados ou do cliente.

Desde:

  • 2.0.0

[Ver fonte]

149
150
151
152
153
154
155
156
157
158
# Arquivo 'lib/mongo/ banco de dados/view.rb', linha 149

def inicializar(database, opções = {})
  @database = database
  @operation_timeout_ms = opções.excluir(:timeout_ms)

  validate_timeout_mode!(opções)

  @batch_size =  nada
  @limit = nada
  @collection = @database[Database::Comando]
end

Detalhes do atributo da instância

#batch_size ➤ inteiro (somente leitura)

Retorna batch_size O tamanho do lote de resultados ao enviar o comando listCollections.

Retorna:

  • (Inteiro)

    batch_size O tamanho do lote de resultados ao enviar o comando listCollections.

Desde:

  • 2.0.0


40
41
42
# Arquivo 'lib/mongo/ banco de dados/view.rb', linha 40

def batch_size
  @batch_size
end

#collectionCollection (somente leitura)

Retorna a collection A collection de comandos.

Retorna:

  • (Collection)

    collection A collection de comandos.

Desde:

  • 2.0.0


46
47
48
# Arquivo 'lib/mongo/ banco de dados/view.rb', linha 46

def collection
  @collection
end

#databaseObject (only read)

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.

Desde:

  • 2.0.0


161
162
163
# Arquivo 'lib/mongo/ banco de dados/view.rb', linha 161

def database
  @database
end

#limiteinteiro (somente leitura)

Retorna limite O limite ao enviar um comando.

Retorna:

  • (Inteiro)

    limite O limite ao enviar um comando.

Desde:

  • 2.0.0


43
44
45
# Arquivo 'lib/mongo/ banco de dados/view.rb', linha 43

def limit
  @limit
end

#operation_timeout_msInteiro | 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.

Retorna:

  • (Inteiro | nil | O valor de timeout_ms que foi passado como uma opção para a visualização.)

    Inteiro | nada | O valor de timeout_ms que foi passado como uma opção para a visualização.

Desde:

  • 2.0.0


167
168
169
# Arquivo 'lib/mongo/ banco de dados/view.rb', linha 167

def operation_timeout_ms
  @operation_timeout_ms
end

Detalhes do método de instância

#aggregation(pipeline, options = {}) ➤ Collection::View::aggregation

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.

Execute uma agregação na visualização do banco de dados.

Exemplos:

Documentos agregados.

view.aggregate([
  { "$listLocalSessions" => {} }
])

Parâmetros:

  • gasoduto (Array<Hash>)

    O pipeline de agregação .

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

    As opções de aggregation.

Retorna:

Desde:

  • 2.10.0

[Ver fonte]

183
184
185
# Arquivo 'lib/mongo/ banco de dados/view.rb', linha 183

def Agregação(gasoduto, opções = {})
  collection::Vista::Agregação.Novo(auto, gasoduto, opções)
end

#collection_names(opções = {}) ➤ Array<String>

Observação:

O conjunto de nomes de collection retornados depende da versão do servidor MongoDB que atende à solicitação.

Obtenha todos os nomes das coleções que não são do sistema no banco de banco de dados.

See https://mongodb.com/pt-br/docs/manual/reference/command/listCollections/
for more information and usage.

Parâmetros:

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

    Opções para o comando listCollections.

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

  • :batch_size (Inteiro)

    O tamanho do lote para os resultados retornados do comando listCollections.

  • :filter (Hash)

    Um filtro para as collections retornadas.

  • : authorized_collections (verdadeiro, falso)

    Um sinalizador, quando definido como verdadeiro, permite a um usuário sem o privilégio necessário executar o comando quando o controle de acesso é imposto.

  • :comentário (Objeto)

    Um comentário fornecido pelo usuário para anexar a este comando.

  • :timeout_ms (Inteiro)

    O tempo limite da operação em milissegundos. Deve ser um número inteiro não negativo. Um valor explícito de 0 significa infinito. O valor padrão não está definido, o que significa que o valor é herdado do banco de dados ou do cliente.

  • :session (Sessão)

    A sessão a ser usada.

Retorna:

  • (Array<String>)

    Os nomes de todas as coleções que não são do sistema.

Desde:

  • 2.0.0

[Ver fonte]

75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# Arquivo 'lib/mongo/ banco de dados/view.rb', linha 75

def collection_names(opções = {})
  @batch_size = opções[:batch_size]
  session = Cliente.get_session(opções)
  Contexto = (operação)::Contexto.Novo(
    cliente: Cliente,
    sessão: session,
    operation_timeouts: operation_timeouts(opções)
  )
  cursor = read_with_retry_cursor(session, ServerSelector.Principal, auto, contexto: Contexto) fazer |Servidor|
    send_initial_query(Servidor, session, Contexto, opções.mesclar(name_only: true))
  end
  cursor.map fazer |informações|
    se cursor.initial_result.connection_description.características.list_collections_enabled?
      informações['nome']
    mais
      (informações['nome'] &&
        informações['nome'].sub("#{@database.name}.", ''))
    end
  end.rejeitar fazer |name|
    name.start_with?('.') || name.incluir?('$')
  end
end

#list_collections(options = {}) ➤ Array<Hash>

Observação:

O conjunto de coleções retornadas e o esquema do hash de informações por coleção depende da versão do servidor MongoDB que atende à solicitação.

Obtenha informações sobre todas as coleções no banco de dados.

Exemplos:

Obtenha informações sobre cada coleção.

database.list_collections

Parâmetros:

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

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

  • :filter (Hash)

    Um filtro para as collections retornadas.

  • :name_only (verdadeiro, falso)

    Indica se o comando deve retornar apenas os nomes e o tipo da collection/visualização ou se deve retornar o nome e outras informações

  • : authorized_collections (verdadeiro, falso)

    Um sinalizador, quando definido como true e usado com nameOnly: true, que permite a um usuário sem o privilégio necessário executar o comando quando o controle de acesso é imposto

    Consulte mongodb.com/pt-br/docs/manual/reference/command/listCollections/ para obter mais informações e uso.

  • :session (Sessão)

    A sessão a ser usada.

  • :deserialize_as_bson (Booleano)

    Se deve desserializar esta mensagem usando BSON types em vez de tipos Ruby nativos sempre que possível.

Retorna:

  • (Array<Hash>)

    Informações para cada collection no banco de dados.

Desde:

  • 2.0.5

[Ver fonte]

127
128
129
130
# Arquivo 'lib/mongo/ banco de dados/view.rb', linha 127

def list_collections(opções = {})
  session = Cliente.get_session(opções)
  collections_info(session, ServerSelector.Principal, opções)
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).

Retorna:

  • (Hash)

    Valor de timeout_ms definido no nível de operação (se houver).

Desde:

  • 2.0.0

[Ver fonte]

198
199
200
201
202
203
204
205
206
# Arquivo 'lib/mongo/ banco de dados/view.rb', linha 198

def operation_timeouts(opciona = {})
  {}.toque fazer |Resultado|
    se opciona[:timeout_ms] || operation_timeout_ms
      Resultado[:operation_timeout_ms] = opciona.excluir(:timeout_ms) || operation_timeout_ms
    mais
      Resultado[:inherited_timeout_ms] = database.timeout_ms
    end
  end
end

#timeout_msInteger | nil

O valor de timeout_ms a ser usado para essa operação; especificado como uma opção para a visualização ou herdado do banco de dados.

Retorna:

  • (Inteiro | nil)

    os timeout_ms para esta operação

Desde:

  • 2.0.0

[Ver fonte]

191
192
193
# Arquivo 'lib/mongo/ banco de dados/view.rb', linha 191

def timeout_ms
  operation_timeout_ms || database.timeout_ms
end