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

Incluido en:
Mongo::Collection
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 Queryable Encryption.

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 de cable para compatibilidad con QE2

Desde:

  • 2.0.0

21

Resumen del método de instancia colapsar

Detalles del método de instancia

#maybe_create_qe_collections(encrypted_fields, cliente, session) ⇒ Result

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 auxiliares e índices para Queryable Encryption si es necesario.

Parámetros:

  • encrypted_fields (Hash | nil)

    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 a 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(encrypted_fields, Cliente, sesión)
  encrypted_fields = encrypted_fields_from(encrypted_fields)
  return rendimiento si encrypted_fields.¿vacío?

  Server = siguiente_principal(nulo, sesión)
  context = Operación::Context.Nuevo(cliente: Cliente, sesión: sesión)
  Server.with_connection hacer |Conexión|
    ¡comprueba la versión del cable!(Conexión)
    colecciones emm(encrypted_fields).cada hacer |coll|
      create_operation_for(coll)
        .ejecutar_con_conexión(Conexión, context: context)
    end
  end

  rendimiento(encrypted_fields).tocar hacer |Resultado|
    indexes.crear_uno(__contenido seguro__: 1) si Resultado
  end
end

#maybe_drop_emm_collections(encrypted_fields, cliente, session) ⇒ 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.

Descarta las colecciones auxiliares e índices para Queryable Encryption si es necesario.

Parámetros:

  • encrypted_fields (Hash | nil)

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

  • Cliente (cliente)

    Cliente de Mongo que se utilizará para descartar las colecciones auxiliares.

  • sesión (Sesión)

    Sesión que se utilizará para descartar 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(encrypted_fields, Cliente, sesión)
  encrypted_fields = si encrypted_fields
                       encrypted_fields
                     elsif encrypted_fields_map
                       campos cifrados para soltar desde el mapa
                     else
                       {}
                     end

  return rendimiento si encrypted_fields.¿vacío?

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

  rendimiento
end