모듈: Mongoid::Shardable::ClassMethods
- 다음에 정의됨:
- lib/mongoid/shardable.rb
인스턴스 메서드 요약 접기
-
#shard_key(*args) ⇒ 객체
필드 가 지정된 샤드 키 를 지정합니다.
인스턴스 메서드 세부 정보
#shard_key(*args) ⇒ 객체
필드 가 지정된 샤드 키 를 지정합니다.
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 |
# 파일 'lib/mongoid/shardable.rb', 줄 120 def shard_key(*args) 하지 않는 한 args.first.is_a?(해시) # 약식 구문 만약 args.last.is_a?(해시) 올리다 ArgumentError, '축약형 shard_key 구문은 옵션을 허용하지 않습니다. ' end 사양 = 해시[args.map do |이름| [이름, 1] end] 반환 shard_key(사양) end 만약 args.분량 > 2 올리다 ArgumentError, '전체 shard_key 구문에는 1 또는 2 인수가 필요합니다. ' end 사양, = args 사양 = 해시[사양.map do |이름, value| 만약 value.is_a?(기호) value = value.to_s end [database_field_name(이름).to_sym, value] end] self.shard_key_fields = 사양.키 self.shard_config = { 키: 사양.동결, 옵션: ( || {}).dup.동결, }.동결 end |