Módulo: Mongoide::Indexable::Métodos de clase
- Definido en:
- lib/mongoid/indexable.rb
Colapso del resumen del método de instancia
-
#add_indexes ⇒ true
Agregue los índices predeterminados al documento raíz si aún no existen.
-
#crear_índices ⇒ verdadero
Enviar los comentarios reales de creación de índices al controlador de MongoDB.
-
#index(spec, options = nil) ⇒ Hash
Agrega una definición de índice para las claves simples o compuestas proporcionadas.
-
#index_specification(index_hash, index_name = nil) ⇒ Especificación
Obtenga una especificación de índice para la clave proporcionada.
-
#eliminar_índices ⇒ verdadero
Envía los comentarios de eliminación del índice real al controlador MongoDB, pero deja _id intacto.
Detalles del método de instancia
#add_indexes ⇒ true
Agregue los índices predeterminados al documento raíz si aún no existen. Actualmente, solo se usa _type.
76 77 78 79 80 81 |
# Archivo 'lib/mongoid/indexable.rb', línea 76 def add_indexes Si ¿hereditario? && !claves de índice.¿incluir?(yo.clave discriminadora.a_sym => 1) index({ yo.clave discriminadora.a_sym => 1 }, unique: false, fondo: true) end true end |
#crear_índices ⇒ verdadero
Envía los comentarios de creación del índice real al controlador MongoDB
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# Archivo 'lib/mongoid/indexable.rb', línea 27 def create_indexes return a no ser que especificaciones del índice = {fondo: Config.indexación de fondo} especificaciones del índice.cada hacer |especulación| clave, = especulación.clave, .unir(especulación.) Si database = [:database] con(database: database) hacer |klass| klass.Colección.indexes(sesión: _sesión).crear_uno(clave, .excepto(:database)) end else Colección.indexes(sesión: _sesión).crear_uno(clave, ) end end y true end |
#index(spec, options = nil) ⇒ Hash
Agrega una definición de índice para las claves simples o compuestas proporcionadas.
96 97 98 99 100 101 |
# Archivo 'lib/mongoid/indexable.rb', línea 96 def index(especulación, = nulo) Especificación = Especificación.Nuevo(yo, especulación, ) Si !especificaciones del índice.¿incluir?(Especificación) especificaciones del índice.Push(Especificación) end end |
#index_specification(index_hash, index_name = nil) ⇒ Specification
Obtenga una especificación de índice para la clave proporcionada.
112 113 114 115 116 117 |
# Archivo 'lib/mongoid/indexable.rb', línea 112 def especificación_del_índice(index_hash, index_name = nulo) index = Estructura abierta.Nuevo(campos: index_hash.claves, llave: index_hash) especificaciones del índice.detectar hacer |especulación| especulación == index || (index_name && index_name == especulación.Nombre) end end |
#remove_indexes ⇒ true
Envía los comentarios de eliminación del índice real al controlador MongoDB, pero deja _id intacto.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# Archivo 'lib/mongoid/indexable.rb', línea 51 def remove_indexes nombres de bases de datos indexadas.cada hacer |database| con(database: database) hacer |klass| begin klass.Colección.indexes(sesión: _sesión).cada hacer |especulación| a no ser que especulación["nombre"] == "_identificación_" klass.Colección.indexes(sesión: _sesión).soltar uno(especulación["llave"]) logger.información( "MONGOID: Se eliminó el índice'#{spec["name"]} ' en la colección " + " ' #{klass.collection.name} ' en la base de datos' #{database} '." ) end end rescate Mongo::Error::Operación fallida; end end end y true end |