Classificação: Mongo::SearchIndex::View
- Herda:
-
Objeto
- Objeto
- Mongo::SearchIndex::View
- Estendido por:
- Encaminhável
- 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, #with_overload_retry, #write_worker
Detalhes do construtor
#inicializar(coleção, opções = {}) ➤ Visualizar
Crie a nova visualização do índice de pesquisa .
36 37 38 39 40 41 42 43 44 45 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 36 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.
23 24 25 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 23 def @aggregate_options end |
#collection ➤ Mongo::Collection (readonly)
Retorna a coleção à qual esta visualização pertence.
13 14 15 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 13 def collection @collection end |
#requires_index_id ➤ nil | string (somente leitura)
Retorna o ID do índice para query.
16 17 18 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 16 def ordered_index_id @requested_index_id end |
#requires_index_name ➤ nil | string (somente leitura)
Retorna o nome do índice para query.
19 20 21 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 19 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.
71 72 73 74 75 76 77 78 79 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 71 def create_many(Índices) especificações = spec_with(índices: Índices.map { |v| validate_search_index!(v) }) operação = (operação)::Crie índices de pesquisa.Novo(especificações) Contexto = execution_context tracer.rastreamento_operação(operação, Contexto, op_name: ' createSearchIndexes ') fazer Resultado = operação.executar, executar(próximo_primary, contexto: Contexto) Resultado.primeiro['indexesCreated '].map { |idx| idx['nome'] } end 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.
56 57 58 59 60 61 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 56 def create_one(Definição, nome: nada, tipo: 'procurar ') especificações = { definição: Definição, tipo: type }.toque fazer |start| start[:name] = name a menos que name.nada? end create_many([ especificações ]).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.
89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 89 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) Contexto = execution_context tracer.rastreamento_operação(op, Contexto, op_name: 'dropSearchIndex') fazer # 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, Contexto) end end |
#cada(&bloco) ⇒ auto | Enumerador
Iterar sobre os índices de pesquisa.
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 111 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.
156 157 158 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 156 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.
139 140 141 142 143 144 145 146 147 148 |
# Arquivo 'lib/mongo/search_index/view.rb', linha 139 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) op = (operação)::Atualizar índice de pesquisa.Novo(especificações) Contexto = execution_context tracer.rastreamento_operação(op, Contexto, op_name: 'updateSearchIndex') fazer op.executar, executar(próximo_primary, contexto: Contexto) end end |