모듈: Mongoid::Persistable::Pullable

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

개요

$pull 및 $pullAll 작업에 대한 동작을 정의합니다.

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#pull(pulls) ⇒ Document

참고:

중복 값이 발견되면 모두 가져옵니다.

제공된 배열에서 단일 값을 가져옵니다.

예시:

배열 에서 값을 가져옵니다.

document.pull(names: "Jeff", levels: 5)

매개변수:

  • pulls (해시)

    필드/value pull 쌍입니다.

반환합니다:

  • (문서)

    문서입니다.



21
22
23
24
25
26
27
28
29
# 파일 'lib/mongoid/persistable/pullable.rb', 줄 21

def pull(pulls)
  prepare_atomic_operation do |ops|
    process_atomic_operations(pulls) do |필드, value|
      (send(필드) || []).삭제(value)
      ops[atomic_attribute_name(필드)] = value
    end
    { "$pull" => ops }
  end
end

#pull_all(pulls) ⇒ Document

제공된 배열 필드에서 여러 값을 가져옵니다.

예시:

배열에서 값을 가져옵니다.

document.pull_all(names: [ "Jeff", "Bob" ], levels: [ 5, 6 ])

매개변수:

  • pulls (해시)

    모든 작업을 가져옵니다.

반환합니다:

  • (문서)

    문서입니다.



39
40
41
42
43
44
45
46
47
48
# 파일 'lib/mongoid/persistable/pullable.rb', 줄 39

def pull_all(pulls)
  prepare_atomic_operation do |ops|
    process_atomic_operations(pulls) do |필드, value|
      기존 = send(필드) || []
      value.{ |val| 기존.삭제(val) }
      ops[atomic_attribute_name(필드)] = value
    end
    { "$pullAll" => ops }
  end
end