Clase: Mongo::SearchIndex::View
- Hereda:
-
Objeto
- Objeto
- Mongo::SearchIndex::View
- Ampliado por:
- Reenviable
- Incluye:
- Enumerable, colección::asistentes, Retryable
- Definido en:
- lib/mongo/search_index/view.rb
Overview
Una clase que representa una vista de índices de búsqueda.
Resumen de atributos de la instancia colapsar
-
#aggregate_options ⇒ Hash
Solo lectura
El hash de opciones a utilizar para el comando de agregación al consultar los índices disponibles.
-
#colección ⇒ Mongo::Collection
Solo lectura
La colección a la que pertenece esta vista.
-
#requested_index_id ⇒ nil | String
Solo lectura
El ID del índice a consultar.
-
#requested_index_name ⇒ nil | String
Solo lectura
El nombre del índice a query.
Resumen del método de instancia colapsar
-
#create_many(índices) ⇒ arreglo<String>
Crear múltiples índices de búsqueda con un solo comando.
-
#create_one(definition, name: nil, type: 'search') ⇒ String
Crear un único índice de búsqueda con la definición dada.
-
#drop_one(id: nil, name: nil) ⇒ Mongo::operación::Result | false
Descartar el índice de búsqueda con el ID dado o el nombre.
-
#each(&block) ⇒ self | Enumerator
Iterar sobre los índices de búsqueda.
-
#¿vacío? ⇒ true | false
Interroga si el índice de búsqueda enumerable está vacío.
-
#initializar(colección, opciones = {}) ⇒ Vista
constructor
Crear la nueva vista del índice de búsqueda.
-
#update_one(definition, id: nil, name: nil) ⇒ Mongo::Operation::Result
Actualiza el índice de búsqueda con el id o nombre proporcionado.
Métodos incluidos de Collection::Helpers
Métodos incluidos de Retryable
#read_worker, #select_server, #with_overload_retry, #write_worker
Detalles del Constructor
#initialize(colección, options = {}) ⇒ Ver
Crear la nueva vista del índice de búsqueda.
36 37 38 39 40 41 42 43 44 45 |
# Archivo 'lib/mongo/search_index/view.rb', línea 36 def inicializar(Colección, = {}) @colección = Colección @requested_index_id = [:id] @requested_index_name = [nombre] @aggregate_options = [:aggregate] || {} return si @aggregate_options.is_a?(encriptada) propagar ArgumentError, "La opción :aggregate debe ser una Hash (se obtuvo una #{@aggregate_options.clase})" end |
Detalles de atributo de instancias
#aggregate_options ⇒ Hash (solo lectura)
Devuelve el hash de opciones que se usará para el comando de agregación al consultar los índices disponibles.
23 24 25 |
# Archivo 'lib/mongo/search_index/view.rb', línea 23 def @aggregate_options end |
#colección ⇒ Mongo::Collection (solo lectura)
Devuelve la colección a la que pertenece esta vista.
13 14 15 |
# Archivo 'lib/mongo/search_index/view.rb', línea 13 def Colección @colección end |
#requested_index_id ⇒ nil | String (solo lectura)
Devuelve el id del índice a query.
16 17 18 |
# Archivo 'lib/mongo/search_index/view.rb', línea 16 def requested_index_id @requested_index_id end |
#requested_index_name ⇒ nil | String (solo lectura)
Devuelve el nombre del índice para query.
19 20 21 |
# Archivo 'lib/mongo/search_index/view.rb', línea 19 def requested_index_name @requested_index_name end |
Detalles del método de instancia
#create_many(índices) ⇒ arreglo<String>
Crear múltiples índices de búsqueda con un solo comando.
71 72 73 74 75 76 77 78 79 |
# Archivo 'lib/mongo/search_index/view.rb', línea 71 def create_many(indexes) especificación = especificación_with(indexes: indexes.map { |v| validate_search_index!(v) }) Operación = Operación::CreateSearchIndexes.Nuevo(especificación) context = execution_context trazador.trace_operation(Operación, context, op_name: 'createSearchIndexes') hacer Resultado = Operación.ejecutar(siguiente_principal, context: context) Resultado.primero['indexesCreated'].map { |índice| índice['nombre'] } end end |
#create_one(definición, name: nil, type: 'búsqueda') ⇒ String
Crea un único índice de búsqueda con la definición dada. Si se proporciona el nombre, el nuevo índice recibirá ese nombre.
56 57 58 59 60 61 |
# Archivo 'lib/mongo/search_index/view.rb', línea 56 def create_one(Definición, nombre: nulo, tipo: 'búsqueda') especificación = { definición: Definición, tipo: tipo }.tocar hacer |sp| sp[nombre] = Nombre a menos que Nombre.nil? end create_many([ especificación ]).primero end |
#drop_one(id: nil, name: nil) ⇒ Mongo::operación::Result | false
Descarta el índice de búsqueda con el ID o nombre dado. Debe especificarse uno u otro, pero no ambos.
89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# Archivo 'lib/mongo/search_index/view.rb', línea 89 def drop_one(ID: nulo, nombre: nulo) validate_id_or_name!(ID, Nombre) especificación = especificación_with(index_id: ID, index_name: Nombre) op = Operación::DropSearchIndex.Nuevo(especificación) context = execution_context trazador.trace_operation(op, context, op_name: 'dropSearchIndex') hacer # según las especificaciones: # Los controladores DEBEN suprimir los errores NamespaceNotFound para el # ``dropSearchIndex`` asistente. Las operaciones de eliminación deben ser idempotentes. do_drop(op, nulo, context) end end |
#each(&block) ⇒ self | Enumerator
Iterar sobre los índices de búsqueda.
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# Archivo 'lib/mongo/search_index/view.rb', línea 111 def cada(&bloque) @result ||= begin especificación = {}.tocar hacer |s| s[:id] = requested_index_id si requested_index_id s[nombre] = requested_index_name si requested_index_name end Colección.con(read_concern: {}).Agregar( [ { '$listSearchIndexes' => especificación } ], ) end return @result.to_enum a menos que bloque @result.cada(&bloque) sí mismo end |
#empty? ⇒ true | false
Interroga si el índice de búsqueda enumerable está vacío.
156 157 158 |
# Archivo 'lib/mongo/search_index/view.rb', línea 156 def ¿vacío? count.zero? end |
#update_one(definition, id: nil, name: nil) ⇒ Mongo::operación::Result
Actualiza el índice de búsqueda con el id o nombre dado. Se debe proporcionar uno u otro, pero no ambos.
139 140 141 142 143 144 145 146 147 148 |
# Archivo 'lib/mongo/search_index/view.rb', línea 139 def update_one(Definición, ID: nulo, nombre: nulo) validate_id_or_name!(ID, Nombre) especificación = especificación_with(index_id: ID, index_name: Nombre, index: Definición) op = Operación::UpdateSearchIndex.Nuevo(especificación) context = execution_context trazador.trace_operation(op, context, op_name: 'updateSearchIndex') hacer op.ejecutar(siguiente_principal, context: context) end end |