모듈: Mongoid::Persistable::Incrementable

확장자:
ActiveSupport::Concern
포함 항목:
Mongoid::Persistable
다음에 정의됨:
lib/mongoid/persistable/증분 가능.rb

개요

$inc 작업에 대한 동작을 정의합니다.

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#inc(증분) ⇒ 문서

제공된 필드를 해당 값만큼 증가시킵니다. 값은 양수 또는 음수일 수 있으며, 필드에 값이 없으면 제공된 값으로 설정됩니다.

예시:

필드를 증가시킵니다.

document.inc(score: 10, place: 1, lives: -10)

매개변수:

  • 증분 (해시)

    /inc 필드 는 쌍을 증가시킵니다.

반환합니다:

  • (문서)

    문서입니다.

[소스 보기]

21
22
23
24
25
26
27
28
29
30
31
32
33
# 파일 'lib/mongoid/persistable/증분 가능.rb', 줄 21

def Inc(증분)
  prepare_atomic_operation do |ops|
    process_atomic_operations(증분) do |필드, value|
      증가 = value.is_a?(BigDecimal) ? value.to_f : value
      Current = 속성[필드]
      new_value = (Current || 0) + 증가
      process_attribute 필드, new_value 만약 execution_atomally?
      속성[필드] = new_value
      ops[atomic_attribute_name(필드)] = 증가
    end
    { "$inc" => ops } 하지 않는 한 ops.비어 있나요?
  end
end