클래스: Mongo::WriteConcern::Base

상속:
객체
  • 객체
모두 표시
다음에 정의됨:
build/ruby-driver-v2.19/lib/mongo/write_concern/base.rb

개요

쓰기 (write) 고려에 대한 일반적인 동작을 정의합니다.

이후:

  • 2.7.0

직접 알려진 하위 클래스

승인 됨 , 승인되지 않음

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(options) ⇒ Base

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

옵션이 주어지면 새 쓰기 고려를 인스턴스화합니다.

예시:

새 쓰기 고려 (write concern) 모드 를 인스턴스화합니다.

Mongo::WriteConcern::Acknowledged.new(:w => 1)

매개변수:

  • 옵션 (해시)

    인스턴스화할 옵션입니다.

옵션 해시(options):

  • :w (정수, string)

    확인할 서버 수 또는 사용자 지정 모드 입니다.

  • :j (true, false)

    저널 에 대한 쓰기 (write) 를 승인할지 여부입니다.

  • :fsync (true, false)

    쓰기 (write) 를 디스크에 동기화해야 합니다.

  • :wtimeout (정수)

    오류가 발생하기 전에 승인을 기다리는 시간(밀리초)입니다.

이후:

  • 2.0.0



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/write_concern/base.rb', 줄 48

def 초기화(옵션)
  옵션 = 옵션::매퍼.transformation_keys_to_symbols(옵션)
  옵션 = 옵션::매퍼.transform_values_to_strings(옵션).동결

  만약 옵션[:w]
    만약 옵션[:w] == 0 && 옵션[:j]
      올리다 오류::InvalidWriteConcern, "Invalid write concern options: :j can true when :w is 0: #{options.검사}"
    elsif 옵션[:w] == 0 && 옵션[:fsync]
      올리다 오류::InvalidWriteConcern, "Invalid write concern options: :fsync when :w is 0: #{options.검사}"
    elsif 옵션[:w].is_a?(Integer) && 옵션[:w] < 0
      올리다 오류::InvalidWriteConcern, "유효하지 않은 쓰기 고려 (write concern) 고려 옵션: :w 는 음수일 수 없습니다 (#{options[:w]}): #{options.검사}"
    end
  end

  만약 옵션[:journal]
    올리다 오류::InvalidWriteConcern, "잘못된 쓰기 고려 옵션: 저널에 :j 사용: #{options.검사}"
  end

  @options = 옵션
end

인스턴스 속성 세부 정보

#options해시 (읽기 전용)

쓰기 고려 옵션을 반환합니다.

반환합니다:

  • (해시)

    쓰기 고려 (write concern) 옵션.

이후:

  • 2.7.0



27
28
29
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/write_concern/base.rb', 줄 27

def 옵션
  @options
end