Módulo: Mongoid::Shardable::ClassMethods
- Definido en:
- lib/mongoid/shardable.rb
Resumen del método de instancia colapsar
-
#shard_key(*args) ⇒ Object
Especifica una clave de partición con el(los) campo(s) especificado(s).
Detalles del método de instancia
#shard_key(*args) ⇒ Objeto
Especifica una clave de partición con el(los) campo(s) especificado(s).
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 shard_key(*args) a menos que args.primero.is_a?(Picadillo) # Sintaxis abreviada si args.último.is_a?(Picadillo) propagar ArgumentError, 'La sintaxis abreviada shard_key no permite opciones' end especulación = Picadillo[args.map hacer |Nombre| [Nombre, 1] end] return shard_key(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.to_s end [database_field_name(Nombre).to_sym, Valor] end] sí mismo.shard_key_fields = especulación.claves sí mismo.shard_config = { clave: especulación.freeze, opciones: ( || {}).dup.freeze, }.freeze end |