Classificação: Mongo::SearchIndex::View
- Herda:
-
Objeto
- Objeto
- Mongo::SearchIndex::View
- Inclui:
- Enumerable, Collection::Helpers, Retryable
- Definido em:
- lib/mongo/search_index/view.rb
Visão geral
Uma classe que representa uma visualização dos índices de pesquisa.
Recolhimento do Resumo do atributo de instância
-
#aggregate_options ⇒ Hash
Somente leitura
O hash de opções a ser usado para o comando agregado ao consultar os índices disponíveis.
-
#collection ➤ Mongo::Collection
Somente leitura
A collection à qual esta visualização pertence.
-
#requires_index_id ➤ nil | string
Somente leitura
O ID do índice a ser consultado.
-
#requires_index_name ➤ nil | string
Somente leitura
O nome do índice a ser consultado.
Recolhimento do Resumo do método de instância
-
#create_many(indexes) ➤ Array<String>
Crie vários índices de pesquisa com um único comando.
-
#create_one(definição, nome: nil, tipo: 'search') ➤ string
Crie um único índice de pesquisa com a definição fornecida.
-
#drop_one(ID: nil, nome: nil) ➤ Mongo::Operation::Result | false
Solte o índice de pesquisa com o ID ou nome fornecido.
-
#cada(&bloco) ⇒ auto | Enumerador
Iterar sobre os índices de pesquisa.
-
#vazio? ➤ verdadeiro | false
Consulta se o índice de pesquisa enumerável está vazio.
-
#inicializar(coleção, opções = {}) ➤ Visualizar
construtor
Crie a nova visualização do índice de pesquisa .
-
#update_one(definition, ID: nil, name: nil) ➤ Mongo::Operation::Result
Atualize o índice de pesquisa com o ID ou nome fornecido.
Métodos incluídos da Collection::Helpers
Métodos incluídos no Retryable
#read_worker, #select_server, #write_worker
Detalhes do construtor
#inicializar(coleção, opções = {}) ➤ Visualizar
Crie a nova visualização do índice de pesquisa .
33 34 35 36 37 38 39 40 41 42 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 33 def inicializar(collection, = {}) @collection = collection @requested_index_id = [:id] @requested_index_name = [:name] @aggregate_options = [:aggregate] || {} Método se @aggregate_options.is_a?(Hash) aumentar ArgumentError, "A opção :aggregate deve ser um Hash (obteve um #{@aggregate_options.classe})" end |
Detalhes do atributo da instância
#aggregate_options ➤ Hash (somente leitura)
Retorna o hash de opções a ser usado para o comando agregado ao consultar os índices disponíveis.
22 23 24 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 22 def @aggregate_options end |
#collection ➤ Mongo::Collection (readonly)
Retorna a coleção à qual esta visualização pertence.
12 13 14 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 12 def collection @collection end |
#requires_index_id ➤ nil | string (somente leitura)
Retorna o ID do índice para query.
15 16 17 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 15 def ordered_index_id @requested_index_id end |
#requires_index_name ➤ nil | string (somente leitura)
Retorna o nome do índice para query.
18 19 20 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 18 def ordered_index_name @requested_index_name end |
Detalhes do método de instância
#create_many(indexes) ➤ Array<String>
Crie vários índices de pesquisa com um único comando.
62 63 64 65 66 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 62 def create_many(Índices) especificações = spec_with(índices: Índices.map { |v| validate_search_index!(v) }) Resultado = (operação)::Crie índices de pesquisa.Novo(especificações).executar, executar(próximo_primary, contexto: execution_context) Resultado.primeiro['indexesCreated '].map { |idx| idx['nome'] } end |
#create_one(definição, nome: nil, tipo: 'search') ➤ string
Crie um único índice de pesquisa com a definição fornecida. Se o nome for fornecido, o novo índice receberá esse nome.
51 52 53 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 51 def create_one(Definição, nome: nada, tipo: 'procurar ') create_many([ { nome: name, definição: Definição, tipo: type } ]).primeiro end |
#drop_one(ID: nil, nome: nil) ➤ Mongo::Operation::Result | false
Solte o índice de pesquisa com o ID ou nome fornecido. Um ou outro deve ser especificado, mas não ambos.
76 77 78 79 80 81 82 83 84 85 86 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 76 def drop_one(ID: nada, nome: nada) validate_id_or_name!(id, name) especificações = spec_with(index_id: id, index_name: name) op = (operação)::Índice de queda.Novo(especificações) # de acordo com a especificação: # Os drivers DEVEM suprimir os erros NamespaceNotFound para o # assistente``dropSearchIndex``. As operações de queda devem ser idempotentes. do_drop(op, nada, execution_context) end |
#cada(&bloco) ⇒ auto | Enumerador
Iterar sobre os índices de pesquisa.
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 95 def cada(&noum: bloco ; verb: bloquear) @result ||= começar especificações = {}.toque fazer |s| s[:id] = ordered_index_id se ordered_index_id s[:name] = ordered_index_name se ordered_index_name end collection.com(read_concern: {}).Agregação( [ { '$listSearchIndexes' => especificações } ], ) end Método @result.to_enum a menos que noum: bloco ; verb: bloquear @result.cada(&noum: bloco ; verb: bloquear) auto end |
#vazio? ➤ verdadeiro | false
Consulta se o índice de pesquisa enumerável está vazio.
136 137 138 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 136 def vazio? contar.zero? end |
#update_one(definition, ID: nil, name: nil) ➤ Mongo::Operation::Result
Atualize o índice de pesquisa com o ID ou nome fornecido. Um ou outro deve ser fornecido, mas não ambos.
123 124 125 126 127 128 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 123 def update_one(Definição, ID: nada, nome: nada) validate_id_or_name!(id, name) especificações = spec_with(index_id: id, index_name: name, Índice: Definição) (operação)::Atualizar índice de pesquisa.Novo(especificações).executar, executar(próximo_primary, contexto: execution_context) end |