Módulo: Mongo::Collection::QueryableEncryption Privado

Incluido en:
Mongo::Colección
Definido en:
lib/mongo/colección/queryable_encryption.rb

Overview

Este módulo forma parte de una API privada. Debe evitar su uso siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Este módulo contiene métodos para crear y eliminar colecciones auxiliares para el cifrado consultable.

Desde:

  • 2.0.0

Colapso delresumen constante

QE2_MIN_WIRE_VERSION =

Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

La versión mínima del cable para la compatibilidad con QE2

Desde:

  • 2.0.0

21

Colapso del resumen del método de instancia

Detalles del método de instancia

#perhaps_create_qe_collections(encrypted_fields, cliente, sesión) ⇒ Resultado

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Crea colecciones e índices auxiliares para cifrado consultable si es necesario.

Parámetros:

  • campos cifrados (Hash | nulo ) —

    Hash de campos cifrados que se proporcionó al ayudante de colección 'crear'.

  • Cliente (Cliente) -

    Cliente Mongo que se utilizará para crear colecciones auxiliares.

  • sesión (Sesión) -

    Sesión que se utilizará para crear colecciones auxiliares.

Devuelve:

  • (Result)

    El resultado del bloque proporcionado.

Desde:

  • 2.0.0



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Archivo 'lib/mongo/collection/queryable_encryption.rb', línea 35

def maybe_create_qe_collections(campos cifrados, Cliente, sesión)
  campos cifrados = campos cifrados de(campos cifrados)
  return rendimiento Si campos cifrados.¿vacío?

  Server = siguiente_primaria(nulo, sesión)
  context = Operación::Context.Nuevo(cliente: Cliente, sesión: sesión)
  Server.con_conexión hacer |conexión|
    ¡comprueba la versión del cable!(conexión)
    colecciones emm(campos cifrados).cada hacer |coll|
      crear_operación_para(coll)
        .ejecutar_con_conexión(conexión, context: context)
    end
  end

  rendimiento(campos cifrados).grifo hacer |resultado|
    indexes.crear_uno(__contenido seguro__: 1) Si resultado
  end
end

#perhaps_drop_emm_collections(campos_encriptados, cliente, sesión) ⇒ Resultado

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Elimina colecciones e índices auxiliares para el cifrado consultable, si es necesario.

Parámetros:

  • campos cifrados (Hash | nulo ) —

    Hash de campos cifrados que se proporcionó al ayudante de colección 'crear'.

  • Cliente (Cliente) -

    Cliente Mongo que se utilizará para eliminar colecciones auxiliares.

  • sesión (Sesión) -

    Sesión que se utilizará para eliminar colecciones auxiliares.

Devuelve:

  • (Result)

    El resultado del bloque proporcionado.

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
# Archivo 'lib/mongo/collection/queryable_encryption.rb', línea 62

def tal vez_dejar_colecciones_emm(campos cifrados, Cliente, sesión)
  campos cifrados = Si campos cifrados
                       campos cifrados
                     elsif mapa de campos cifrados
                       campos cifrados para soltar desde el mapa
                     else
                       {}
                     end

  return rendimiento Si campos cifrados.¿vacío?

  colecciones emm(campos cifrados).cada hacer |coll|
    context = Operación::Context.Nuevo(cliente: Cliente, sesión: sesión)
    operación = Operación::Descartar.Nuevo(
      selector: { gota: coll },
      nombre_base_datos: database.Nombre,
      sesión: sesión
    )
    hacer_soltar(operación, sesión, context)
  end

  rendimiento
end