Classificação: Mongo::Index::View
- Herda:
-
Objeto
- Objeto
- Mongo::Índice::Visualização
- Estendido por:
- Encaminhável
- Inclui:
- Enumerável , repetível
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/index/view.rb
Visão geral
Uma classe que representa uma visualização de índices.
Colapsode resumo constante
- KEY =
O campo- chave de índice .
'key'.congelar
- NOME =
O campo de nome do índice.
'nome'.congelar
- OPÇÕES =
Os mapeamentos das opções de índice Ruby para as opções do servidor.
{ :background => :background, :bits => :bits, :bucket_size => :bucketSize, :default_language => :default_language, :expire_after => :expireAfterSeconds, :expire_after_seconds => :expireAfterSeconds, :key => :key, :language_override => :language_override, :max => :max, :min => :min, :name => :name, :partial_filter_expression => :partialFilterExpression, :sparse => :sparse, :sphere_version => :'2dsphereIndexVersion', :storage_engine => :storageEngine, :text_version => :textIndexVersion, :unique => :unique, :version => :v, :weights => :weights, :collation => :collation, :comentário => :comentário, :wildcard_projection => :wildcardProjection, }.congelar
Recolhimento do Resumo do atributo de instância
-
#batch_size ➤ Inteiro
Somente leitura
Batch_size O tamanho do lote de resultados ao enviar o comando listIndexes.
-
#collection ➤ Collection
Somente leitura
Collection A collection de índices.
Recolhimento do Resumo do método de instância
-
#create_many(*models) ➤ Resultado
Cria múltiplos índices na collection.
-
#create_one(keys, options = {}) ➤ Resultado
Cria um índice na collection.
-
#drop_all(options = {}) ⇒ Resultado
Solte todos os índices da coleção.
-
#drop_one(name, options = {}) ⇒ Result
Solte um índice por seu nome.
-
#cada(&bloco) ➤ Objeto
Iterar sobre todos os índices da collection.
-
#get(keys_or_name) ➤ Hash
Método de conveniência para obter informações de índice por um nome ou especificação específica.
-
#inicializar(coleção, opções = {}) ➤ Visualizar
construtor
Crie a nova visualização do índice.
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.
293 294 295 296 297 |
# File 'build/ruby-driver-v2.19/lib/mongo/index/view.rb', linha 293 def inicializar(collection, = {}) @collection = collection @batch_size = [:batch_size] @opções = 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 listIndexes.
34 35 36 |
# File 'build/ruby-driver-v2.19/lib/mongo/index/view.rb', linha 34 def batch_size @batch_size end |
#collection ➤ Collection (somente leitura)
Retorna collection A collection de índices.
30 31 32 |
# File 'build/ruby-driver-v2.19/lib/mongo/index/view.rb', linha 30 def collection @collection end |
Detalhes do método de instância
#create_many(*models) ➤ Resultado
No MongoDB 3.0.0 e superior, os índices serão criados em paralelo no servidor.
Cria múltiplos índices na collection.
206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 |
# File 'build/ruby-driver-v2.19/lib/mongo/index/view.rb', linha 206 def create_many(*modelos) modelos = modelos.achatar = {} se modelos && !modelos.último.chave?(:key) = modelos.Pop end Cliente.enviar(:with_session, @opções.mesclar()) fazer |session| Servidor = próximo_primary(nada, session) Índices = normalize_models(modelos, Servidor) Índices.cada fazer |index| se index[:bucketSize] || index['bucketSize'] Cliente.log_service("Os índices haystack (opção de índice bucketSize) estão obsoletos a partir do MongoDB 4.4") end end especificações = { índices: Índices, db_name: database.name, coll_name: collection.name, sessão: session, commit_quorum: [:commit_quorum], write_concern: write_concern, comment: [:comentário], } (operação)::CriarÍndice.Novo(especificações).executar, executar(Servidor, contexto: (operação)::Contexto.Novo(cliente: Cliente, sessão: session)) end end |
#create_one(keys, options = {}) ➤ Resultado
Observe que as opções listadas podem ser um subconjunto das disponíveis.
Cria um índice na collection.
Consulte a documentação do MongoDB para obter uma lista completa das opções suportadas por versão do servidor .
157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'build/ruby-driver-v2.19/lib/mongo/index/view.rb', linha 157 def create_one(keys, = {}) = .dup = {} se session = @opções[:session] [:session] = session end %i(commit_quorum session comment).cada fazer |chave| se valor = .excluir(chave) [chave] = valor end end create_many({ chave: keys }.mesclar(), ) end |
#drop_all(options = {}) ⇒ Resultado
Solte todos os índices da coleção.
109 110 111 |
# File 'build/ruby-driver-v2.19/lib/mongo/index/view.rb', linha 109 def drop_all( = {}) drop_by_name(Index::TUDO, comment: [:comentário]) end |
#drop_one(name, options = {}) ⇒ Result
Solte um índice por seu nome.
91 92 93 94 |
# File 'build/ruby-driver-v2.19/lib/mongo/index/view.rb', linha 91 def drop_one(name, = {}) aumentar Erro::MultiIndexDrop.Novo se name == Index::TUDO drop_by_name(name, comment: [:comentário]) end |
#cada(&bloco) ➤ Objeto
Iterar sobre todos os índices da collection.
265 266 267 268 269 270 271 272 273 274 275 276 277 |
# File 'build/ruby-driver-v2.19/lib/mongo/index/view.rb', linha 265 def cada(&noum: bloco ; verb: bloquear) session = Cliente.enviar(:get_session, @opções) cursor = read_with_retry_cursor(session, ServerSelector.Principal, auto) fazer |Servidor| send_initial_query(Servidor, session) end se block_given? cursor.cada fazer |doc| rendimento doc end mais cursor.to_enum end end |
#get(keys_or_name) ➤ Hash
Método de conveniência para obter informações de índice por um nome ou especificação específica.
251 252 253 254 255 |
# File 'build/ruby-driver-v2.19/lib/mongo/index/view.rb', linha 251 def obter(chaves_or_name) find fazer |index| (index[Nome] == chaves_or_name) || (index[Chave] == normalize_keys(chaves_or_name)) end end |