Clase: Mongo::SearchIndex::View
- Hereda:
-
Objeto
- Objeto
- Mongo::SearchIndex::View
- 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 que se utilizará para el comando agregado 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.
-
#nombre_índice_solicitado ⇒ nulo | Cadena
Solo lectura
El nombre del índice a query.
Resumen del método de instancia colapsar
-
#create_many(índices) ⇒ Array<String>
Cree 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: nulo, nombre: nulo) ⇒ Mongo::Operación::Resultado | falso
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
Consulta si el índice de búsqueda enumerable está vacío.
-
#initializar(colección, opciones = {}) ⇒ Vista
constructor
Crear la nueva vista de índice de búsqueda.
-
#update_one(definition, id: nil, name: nil) ⇒ Mongo::Operation::Result
Actualice el índice de búsqueda con el id o nombre indicado.
Métodos incluidos en Collection::Helpers
Métodos incluidos en Retryable
#read_worker, #select_server, #write_worker
Detalles del constructor
#inicializar(colección, opciones = {}) ⇒ Ver
Crear la nueva vista de índice de búsqueda.
33 34 35 36 37 38 39 40 41 42 |
# Archivo 'lib/mongo/search_index/view.rb', línea 33 def inicializar(Colección, = {}) @colección = Colección @requested_index_id = [:id] @nombre_índice_solicitado = [nombre] @opciones_agregadas = [:aggregate] || {} return si @opciones_agregadas.is_a?(Picadillo) propagar ArgumentError, "La opción :aggregate debe ser una Hash (se obtuvo una #{@aggregate_options.clase})" end |
Detalles de los atributos de instancia
#aggregate_options ⇒ Hash (solo lectura)
Devuelve el hash de opciones que se usará para el comando de agregación al consultar los índices disponibles.
22 23 24 |
# Archivo 'lib/mongo/search_index/view.rb', línea 22 def @opciones_agregadas end |
#colección ⇒ Mongo::Collection (solo lectura)
Devuelve la colección a la que pertenece esta vista.
12 13 14 |
# Archivo 'lib/mongo/search_index/view.rb', línea 12 def Colección @colección end |
#requested_index_id ⇒ nil | String (solo lectura)
Devuelve el id del índice a query.
15 16 17 |
# Archivo 'lib/mongo/search_index/view.rb', línea 15 def id_de_índice_solicitado @requested_index_id end |
#requested_index_name ⇒ nil | String (solo lectura)
Devuelve el nombre del índice a consultar.
18 19 20 |
# Archivo 'lib/mongo/search_index/view.rb', línea 18 def requested_index_name @nombre_índice_solicitado end |
Detalles del método de instancia
#create_many(índices) ⇒ arreglo<String>
Cree múltiples índices de búsqueda con un solo comando.
62 63 64 65 66 |
# Archivo 'lib/mongo/search_index/view.rb', línea 62 def create_many(indexes) especulación = especificación_con(indexes: indexes.map { |v| validate_search_index!(v) }) Resultado = Operación::CreateSearchIndexes.Nuevo(especulación).ejecutar(siguiente_principal, context: execution_context) Resultado.primero['indexesCreated'].map { |índice| índice['nombre'] } end |
#create_one(definición, name: nil, type: 'búsqueda') ⇒ String
Cree un índice de búsqueda único con la definición dada. Si se proporciona el nombre, el nuevo índice recibirá ese nombre.
51 52 53 |
# Archivo 'lib/mongo/search_index/view.rb', línea 51 def crear_uno(Definición, nombre: nulo, tipo: ' buscar') create_many([ { nombre: Nombre, definición: Definición, tipo: tipo } ]).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.
76 77 78 79 80 81 82 83 84 85 86 |
# Archivo 'lib/mongo/search_index/view.rb', línea 76 def drop_one(identificación: nulo, nombre: nulo) validate_id_or_name!(ID, Nombre) especulación = especificación_con(index_id: ID, index_name: Nombre) op = Operación::DropSearchIndex.Nuevo(especulación) # según la especificación: # Los controladores DEBEN suprimir los errores NamespaceNotFound para el # ``dropSearchIndex`` asistente. Las operaciones de eliminación deben ser idempotentes. hacer_soltar(op, nulo, execution_context) end |
#each(&block) ⇒ self | Enumerator
Iterar sobre los índices de búsqueda.
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# Archivo 'lib/mongo/search_index/view.rb', línea 95 def cada(Ybloque) @resultado ||= begin especulación = {}.tocar hacer |s| s[:id] = id_de_índice_solicitado si id_de_índice_solicitado s[nombre] = requested_index_name si requested_index_name end Colección.con(read_concern: {}).Agregar( [ { '$listSearchIndexes' => especulación } ], ) end return @resultado.to_enum a menos que bloque @resultado.cada(Ybloque) sí mismo end |
#empty? ⇒ true | false
Consulta si el índice de búsqueda enumerable está vacío.
136 137 138 |
# Archivo 'lib/mongo/search_index/view.rb', línea 136 def ¿vacío? count.zero? end |
#update_one(definition, id: nil, name: nil) ⇒ Mongo::operación::Result
Actualice el índice de búsqueda con el ID o el nombre indicados. Se debe proporcionar uno u otro, pero no ambos.
123 124 125 126 127 128 |
# Archivo 'lib/mongo/search_index/view.rb', línea 123 def update_one(Definición, identificación: nulo, nombre: nulo) validate_id_or_name!(ID, Nombre) especulación = especificación_con(index_id: ID, index_name: Nombre, index: Definición) Operación::UpdateSearchIndex.Nuevo(especulación).ejecutar(siguiente_principal, context: execution_context) end |