모듈: Mongoid::Shardable::ClassMethods
- 다음에 정의됨:
- lib/mongoid/shardable.rb
인스턴스 메서드 요약 접기
-
#shard_key(*args) ⇒ 객체
필드 가 지정된 샤드 키 를 지정합니다.
인스턴스 메서드 세부 정보
#shard_key(*args) ⇒ 객체
필드 가 지정된 샤드 키 를 지정합니다.
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
# 파일 'lib/mongoid/shardable.rb', 줄 117 def shard_key(*args) 하지 않는 한 args.first.is_a?(해시) # 약식 구문 올리다 ArgumentError, '축약형 shard_key 구문은 옵션을 허용하지 않습니다. ' 만약 args.last.is_a?(해시) 사양 = 해시[args.map do |이름| [ 이름, 1 ] end] 반환 shard_key(사양) end 올리다 ArgumentError, '전체 shard_key 구문에는 1 또는 2 인수가 필요합니다. ' 만약 args.분량 > 2 사양, = args 사양 = 해시[사양.map do |이름, value| value = value.to_s 만약 value.is_a?(기호) [ database_field_name(이름).to_sym, value ] end] self.shard_key_fields = 사양.키 self.shard_config = { 키: 사양.동결, 옵션: ( || {}).dup.동결 }.동결 end |