모듈: Mongo::Collection::QueryableEncryption Private

포함 항목:
Mongo::Collection
다음에 정의됨:
build/ruby-driver-v2.19/lib/mongo/collection/queryable_encryption.rb

개요

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

이 모듈에는 Queryable Encryption 에 대한 보조 컬렉션을 만들고 삭제하는 메서드가 포함되어 있습니다.

이후:

  • 2.0.0

상수 요약 접기

QE2_MIN_WIRE_VERSION =

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

QE2 지원 을 위한 최소 유선 버전

이후:

  • 2.0.0

21

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#may_create_qe_collections(encrypted_fields, 클라이언트, session) ⇒ 결과

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

필요한 경우 Queryable Encryption 을 위한 보조 컬렉션 및 인덱스를 생성합니다.

매개변수:

  • encryption_fields (Hash | nil)

    컬렉션 헬퍼 '생성'에 제공된 암호화된 필드 해시입니다.

  • 고객 (클라이언트)

    mongo 클라이언트를 사용하여 보조 컬렉션을 생성합니다.

  • Session (세션)

    보조 컬렉션을 만드는 데 사용할 세션입니다.

반환합니다:

  • (결과)

    제공된 차단 의 결과입니다.

이후:

  • 2.0.0



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/queryable_encryption.rb', 줄 35

def may_create_qe_collections(encryption_fields, 고객, Session)
  encryption_fields = encryption_fields_from(encryption_fields)
  반환 yield 만약 encryption_fields.비어 있나요?

  서버 = Next_primary(nil, Session)
  컨텍스트 = 작업::Context.신규(클라이언트: 고객, 세션: Session)
  서버.with_connection do |연결|
    check_wire_version!(연결)
    emm_collections(encryption_fields). do |coll|
      create_operation_for(coll)
        .execution_with_connection(연결, 컨텍스트: 컨텍스트)
    end
  end

  yield(encryption_fields). do |결과|
    인덱스.create_one(__safeContent__: 1) 만약 결과
  end
end

#may_drop_emm_collections(encrypted_fields, 클라이언트, 세션) ⇒ 결과

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

필요한 경우 Queryable Encryption 을 위한 보조 컬렉션 및 인덱스를 삭제합니다.

매개변수:

  • encryption_fields (Hash | nil)

    컬렉션 헬퍼 '생성'에 제공된 암호화된 필드 해시입니다.

  • 고객 (클라이언트)

    mongo 클라이언트를 사용하여 보조 컬렉션을 삭제합니다.

  • Session (세션)

    보조 컬렉션을 삭제하는 데 사용할 세션입니다.

반환합니다:

  • (결과)

    제공된 차단 의 결과입니다.

이후:

  • 2.0.0



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/queryable_encryption.rb', 줄 62

def may_drop_emm_collections(encryption_fields, 고객, Session)
  encryption_fields = 만약 encryption_fields
                       encryption_fields
                     elsif encryption_fields_map
                       encryption_fields_for_drop_from_map
                     other
                       {}
                     end

  반환 yield 만약 encryption_fields.비어 있나요?

  emm_collections(encryption_fields). do |coll|
    컨텍스트 = 작업::Context.신규(클라이언트: 고객, 세션: Session)
    작업 = 작업::drop.신규(
      선택기: { drop: coll },
      db_name: database.이름,
      세션: Session
    )
    do_drop(작업, Session, 컨텍스트)
  end

  yield
end