Clase: Mongo::SearchIndex::View
- Hereda:
-
Objeto
- Objeto
- Mongo::Índice de búsqueda::Vista
- Incluye:
- Enumerable, colección::asistentes, Retryable
- Definido en:
- lib/mongo/index_de_búsqueda/view.rb
Overview
Una clase que representa una vista de índices de búsqueda.
Colapso delresumen de atributos de instancia
-
#aggregate_options ⇒ Hash
solo lectura
El hash de opciones que se utilizará para el comando agregado al consultar los índices disponibles.
-
#colección ⇒ Mongo::Colección
solo lectura
La colección a la que pertenece esta vista.
-
#id_de_índice_solicitado ⇒ nulo | Cadena
solo lectura
El ID del índice a consultar.
-
#nombre_índice_solicitado ⇒ nulo | Cadena
solo lectura
El nombre del índice a consultar.
Colapso del resumen del método de instancia
-
#create_many(índices) ⇒ Array<String>
Cree múltiples índices de búsqueda con un solo comando.
-
#create_one(definición, nombre: nil, tipo: 'buscar') ⇒ Cadena
Crea un índice de búsqueda único con la definición dada.
-
#drop_one(id: nulo, nombre: nulo) ⇒ Mongo::Operación::Resultado | falso
Eliminar el índice de búsqueda con el id o nombre dado.
-
#cada(&bloque) ⇒ self | Enumerador
Iterar sobre los índices de búsqueda.
-
#¿vacío? ⇒ verdadero | falso
Consulta si el índice de búsqueda enumerable está vacío.
-
#inicializar(colección, opciones = {}) ⇒ Ver
constructor
Crear la nueva vista de índice de búsqueda.
-
#update_one(definición, id: nulo, nombre: nulo) ⇒ 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
#trabajador_de_lectura, #servidor_de_selección, #trabajador_de_escritura
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, = {}) @recopilación = Colección @id_de_índice_solicitado = [:id] @nombre_índice_solicitado = [:nombre] @opciones_agregadas = [:aggregate] || {} return Si @opciones_agregadas.is_a?(Picadillo) propagar ArgumentError, "Laopción:aggregate debe ser un Hash (tiene un #{@aggregate_options.class} )" end |
Detalles de los atributos de instancia
#added_options ⇒ Hash (solo lectura)
Devuelve el hash de opciones que se utilizará para el comando agregado 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 @recopilación end |
#id_de_índice_solicitado ⇒ nulo | Cadena (solo lectura)
Devuelve el ID del índice a consultar.
15 16 17 |
# Archivo 'lib/mongo/search_index/view.rb', línea 15 def id_de_índice_solicitado @id_de_índice_solicitado end |
#nombre_índice_solicitado ⇒ nulo | Cadena (solo lectura)
Devuelve el nombre del índice a consultar.
18 19 20 |
# Archivo 'lib/mongo/search_index/view.rb', línea 18 def nombre_índice_solicitado @nombre_índice_solicitado end |
Detalles del método de instancia
#create_many(índices) ⇒ Array<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 crear_muchos(indexes) especulación = especificación_con(indexes: indexes.map { |v| validate_search_index!(v) }) resultado = Operación::Crear índices de búsqueda.Nuevo(especulación).ejecutar(siguiente_primaria, context: contexto_de_ejecución) resultado.primera['índicesCreados'].map { |no me importa| no me importa['nombre '] } end |
#create_one(definición, nombre: nil, tipo: 'buscar') ⇒ Cadena
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') crear_muchos([ { nombre: Nombre, definición: definición, tipo: tipo } ]).primera end |
#drop_one(id: nulo, nombre: nulo) ⇒ Mongo::Operación::Resultado | falso
Eliminar el índice de búsqueda con el ID o el nombre indicados. Se debe especificar 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 soltar uno(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::Índice de búsqueda de caída.Nuevo(especulación) # según la especificación: # Los controladores DEBEN suprimir los errores NamespaceNotFound para # Ayudante ``dropSearchIndex``. Las operaciones de eliminación deben ser idempotentes. hacer_soltar(op, nulo, contexto_de_ejecución) end |
#cada(&bloque) ⇒ self | Enumerador
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 = {}.grifo hacer |s| s[:id] = id_de_índice_solicitado Si id_de_índice_solicitado s[:nombre] = nombre_índice_solicitado Si nombre_índice_solicitado end Colección.con(preocupación de lectura: {}).Agregar( [ { '$listSearchIndexes' => especulación } ], ) end return @resultado.to_enum a no ser que bloque @resultado.cada(Ybloque) yo end |
#¿vacío? ⇒ verdadero | falso
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::Actualizar índice de búsqueda.Nuevo(especulación).ejecutar(siguiente_primaria, context: contexto_de_ejecución) end |