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

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

Overview

Este módulo es parte de una API privada. Deberías evitar usar este módulo si es posible, ya que puede ser removido o cambiado en el futuro.

Este módulo contiene métodos para crear y eliminar colecciones auxiliares para Queryable Encryption.

Desde:

  • 2.0.0

Resumen de constantes colapsar

QE2_MIN_WIRE_VERSION =

Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada 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 es parte de una API privada. Se debe evitar el uso de este método 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 fue proporcionado al asistente de la colección create.

  • 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|
    check_wire_version!(Conexión)
    emm_collections(encrypted_fields).cada hacer |coll|
      create_operation_for(coll)
        .execute_with_connection(Conexión, context: context)
    end
  end

  rendimiento(encrypted_fields).tocar hacer |Resultado|
    indexes.create_one(__safeContent__: 1) si Resultado
  end
end

#maybe_drop_emm_collections(encrypted_fields, cliente, session) ⇒ Resultado

Este método es parte de una API privada. Se debe evitar el uso de este método 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 fue proporcionado al asistente de la colección create.

  • 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 maybe_drop_emm_collections(encrypted_fields, Cliente, sesión)
  encrypted_fields = si encrypted_fields
                       encrypted_fields
                     elsif encrypted_fields_map
                       encrypted_fields_for_drop_from_map
                     else
                       {}
                     end

  return rendimiento si encrypted_fields.¿vacío?

  emm_collections(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 },
      db_name: database.Nombre,
      sesión: sesión
    )
    do_drop(Operación, sesión, context)
  end

  rendimiento
end