Módulo: Mongoid::Shardable::ClassMethods
- Definido en:
- lib/mongoid/shardable.rb
Colapso del resumen del método de instancia
-
#shard_key(*args) ⇒ Objeto
Especifica una clave de fragmento con los campos especificados.
Detalles del método de instancia
#shard_key(*args) ⇒ Objeto
Especifica una clave de fragmento con los campos especificados.
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
# Archivo 'lib/mongoid/shardable.rb', línea 120 def clave de fragmento(*args) a no ser que args.primera.is_a?(Picadillo) # Sintaxis abreviada Si args.última.is_a?(Picadillo) propagar ArgumentError, 'Lasintaxis abreviada shard_key no permite opciones' end especulación = Picadillo[args.map hacer |Nombre| [Nombre, 1] end] return clave de fragmento(especulación) end Si args.longitud > 2 propagar ArgumentError, 'La sintaxis completa de shard_key requiere 1 o 2 argumentos' end especulación, = args especulación = Picadillo[especulación.map hacer |Nombre, valor| Si valor.is_a?(Símbolo) valor = valor.a_s end [nombre_del_campo_de_base_de_datos(Nombre).a_sym, valor] end] yo.campos de clave de fragmento = especulación.claves yo.shard_config = { llave: especulación.freeze, opciones: ( || {}).dup.freeze, }.freeze end |