Módulo: Mongoid::Clients::Options

Ampliado por:
ActiveSupport::Concern
Incluido en:
Mongoid::Clientes, Mongoid::Criterio
Definido en:
lib/mongoid/clients/options.rb

Overview

Módulo de mixin incluido en Mongoid::Document que brinda la capacidad de gestionar el contexto de la base de datos para operaciones de persistencia y query. Por ejemplo, esto incluye guardar documentos en diferentes colecciones y leer documentos desde instancias secundarias.

Definido bajo Namespace

Modules: ClassMethods

Resumen del método de instancia colapsar

Detalles del método de instancia

#colección(parent = nil) ⇒ Mongo::Collection

Obtén la colección para el contexto de persistencia actual del document.

Ejemplos:

Obtener la colección para el contexto de persistencia actual.

document.collection

Parámetros:

  • padre (objeto) (valor por defecto: nil)

    El objeto principal cuyo nombre de colección se utiliza en lugar del nombre de la colección del contexto de persistencia actual.

Devuelve:

  • (Mongo::colección)

    La colección para el contexto de persistencia actual.



45
46
47
# Archivo 'lib/mongoid/clients/options.rb', línea 45

def Colección(padre = nulo)
  persistence_context.Colección(padre)
end

#collection_nameString

Obtén el nombre de la colección para el contexto de persistencia actual del document.

Ejemplos:

Obtén el nombre de la colección para el contexto de persistencia actual.

document.collection_name

Devuelve:

  • (string)

    El nombre de la colección para el contexto de persistencia actual.



56
57
58
# Archivo 'lib/mongoid/clients/options.rb', línea 56

def nombre_colección
  persistence_context.nombre_colección
end

#mongo_clientMongo::Client

Obtenga el cliente de base de datos para el contexto actual de persistencia del document.

Ejemplos:

Obtén el cliente para el contexto de persistencia actual.

document.mongo_client

Devuelve:

  • (Mongo::Client)

    El cliente para el contexto de persistencia actual.



67
68
69
# Archivo 'lib/mongoid/clients/options.rb', línea 67

def mongo_client
  persistence_context.Cliente
end

#persistence_contextMongoid::PersistenceContext

Nota:

Para documentos incrustados, se devuelve el contexto de persistencia del documento padre raíz.

Obtenga el contexto de persistencia actual del document.

Ejemplos:

Establece el contexto de persistencia actual.

document.persistence_context

Devuelve:



81
82
83
84
85
86
87
88
89
# Archivo 'lib/mongoid/clients/options.rb', línea 81

def persistence_context
  si ¿Incorporado? && !_root?
    _root.persistence_context
  else
    PersistenceContext.Obtener(sí mismo) ||
      PersistenceContext.Obtener(sí mismo.clase) ||
      PersistenceContext.Nuevo(sí mismo.clase, default_storage_options)
  end
end

#¿persistence_context?true | false

Nota:

Para documentos incrustados, se utiliza el contexto de persistencia del documento principal raíz.

Devuelve si se ha establecido un contexto de persistencia para el document o la clase del document.

Ejemplos:

Establece el contexto de persistencia actual.

document.persistence_context?

Devuelve:

  • (true | false)

    Si se establece un contexto de persistencia.



101
102
103
104
105
106
107
108
109
# Archivo 'lib/mongoid/clients/options.rb', línea 101

def ¿persistence_context?
  si ¿Incorporado? && !_root?
    _root.¿persistence_context?
  else
    remembered_storage_options&.any? ||
      PersistenceContext.Obtener(sí mismo).¿presente? ||
      PersistenceContext.Obtener(sí mismo.clase).¿presente?
  end
end

#con(options_or_context) ⇒ Objeto

Cambiar el contexto de persistencia de este objeto durante el bloque.

Ejemplos:

Guardar el documento actual en otra colección.

model.with(collection: "bands") do |m|
  m.save
end

Parámetros:

  • options_or_context (Hash | Mongoid::PersistenceContext)

    Las opciones de almacenamiento o el contexto de persistencia.

  • opciones (encriptada)

    un conjunto personalizable de opciones



26
27
28
29
30
31
32
33
# Archivo 'lib/mongoid/clients/options.rb', línea 26

def con(options_or_context)
  original_context = PersistenceContext.Obtener(sí mismo)
  original_cluster = persistence_context.clúster
  set_persistence_context(options_or_context)
  rendimiento sí mismo
asegurar
  clear_persistence_context(original_cluster, original_context)
end