Módulo: Mongo::Collection::QueryableEncryption Private

Incluído em:
Mongo::collection
Definido em:
build/ruby-driver-v2.19/lib/mongo/collection/queryable_encryption.rb

Visão geral

Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.

Este módulo contém métodos para criar e descartar coleções auxiliares para Queryable Encryption.

Desde:

  • 2.0.0

Colapsode resumo constante

QE2_MIN_WIRE_VERSION =

Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.

A versão mínima de fio para suporte QE2

Desde:

  • 2.0.0

21

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#may_create_qe_collections(encrypted_fields, cliente, session) ➤ Result

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Cria coleções e índices auxiliares para Queryable Encryption se necessário.

Parâmetros:

  • campos_criptografados (Hash | nulo)

    Hash de campos criptografados que foi fornecido para o assistente de coleção 'create'.

  • Cliente (Cliente)

    cliente mongo a ser usado para criar collections auxiliares.

  • session (Sessão)

    Sessão a ser usada para criar coleções auxiliares.

Retorna:

  • (Resultado)

    O resultado do bloqueio fornecido.

Desde:

  • 2.0.0



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'build/ruby-driver-v2.19/lib/mongo/collection/queryable_encryption.rb', linha 35

def talvez_create_qe_collections(campos_criptografados, Cliente, session)
  campos_criptografados = encryption_fields_from(campos_criptografados)
  Método rendimento se campos_criptografados.vazio?

  Servidor = próximo_primary(nada, session)
  Contexto = (operação)::Contexto.Novo(cliente: Cliente, sessão: session)
  Servidor.with_connection fazer |Conexão|
    check_wire_version!(Conexão)
    emm_collections(campos_criptografados).cada fazer |coll|
      create_operation_for(coll)
        .execute_with_connection(Conexão, contexto: Contexto)
    end
  end

  rendimento(campos_criptografados).toque fazer |Resultado|
    Índices.create_one(__safeContent__: 1) se Resultado
  end
end

#may_drop_emm_collections(encrypted_fields, client, session) ➤ Result

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Descarta collections e índices auxiliares para Queryable Encryption se necessário.

Parâmetros:

  • campos_criptografados (Hash | nulo)

    Hash de campos criptografados que foi fornecido para o assistente de coleção 'create'.

  • Cliente (Cliente)

    cliente mongo a ser usado para descartar collections auxiliares.

  • session (Sessão)

    Sessão a ser usada para descartar coleções auxiliares.

Retorna:

  • (Resultado)

    O resultado do bloqueio fornecido.

Desde:

  • 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
# File 'build/ruby-driver-v2.19/lib/mongo/collection/queryable_encryption.rb', linha 62

def talvez_drop_emm_coleções(campos_criptografados, Cliente, session)
  campos_criptografados = se campos_criptografados
                       campos_criptografados
                     elsif encryption_fields_map
                       encryption_fields_for_drop_from_map
                     mais
                       {}
                     end

  Método rendimento se campos_criptografados.vazio?

  emm_collections(campos_criptografados).cada fazer |coll|
    Contexto = (operação)::Contexto.Novo(cliente: Cliente, sessão: session)
    operação = (operação)::descartar.Novo(
      seletor: { derrubar: coll },
      db_name: database.name,
      sessão: session
    )
    do_drop(operação, session, Contexto)
  end

  rendimento
end