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

Obtenga la colección para el contexto de persistencia actual del documento.

Ejemplos:

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

document.collection

Parámetros:

  • padre (Objeto) (predeterminado: nulo)

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

Devuelve:

  • (Mongo::colección)

    La colección para el contexto de persistencia actual.



47
48
49
# Archivo 'lib/mongoid/clients/options.rb', línea 47

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

#collection_nameString

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

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.



58
59
60
# Archivo 'lib/mongoid/clients/options.rb', línea 58

def nombre_colección
  persistence_context.nombre_colección
end

#mongo_clientMongo::Client

Obtén el cliente de base de datos para el contexto de persistencia actual del documento.

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.



69
70
71
# Archivo 'lib/mongoid/clients/options.rb', línea 69

def mongo_client
  persistence_context.Cliente
end

#contexto_de_persistenciaMongoid::ContextoDePersistencia

Nota:

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

Obtener el contexto de persistencia actual del documento.

Ejemplos:

Establece el contexto de persistencia actual.

document.persistence_context

Devuelve:



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

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

#contexto_de_persistencia?verdadero | falso

Nota:

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

Devuelve si un contexto de persistencia está establecido para el documento o la clase del documento.

Ejemplos:

Establece el contexto de persistencia actual.

document.persistence_context?

Devuelve:

  • (true | false)

    Si se establece un contexto de persistencia.



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

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(opciones_o_contexto, &bloque) ⇒ Objeto

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

Ejemplos:

Guardar el documento actual en una colección diferente.

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



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

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