Módulo: Mongoid::Criteria::Modifiable

Incluido en:
Mongoid::Criterios
Definido en:
lib/mongoid/criteria/modifiable.rb

Overview

Módulo Mixin para Mongoid::Criteria que añade la capacidad de crear o compilar nuevos documentos con atributos inicializados según las condiciones de los criterios.

Resumen de atributos de la instancia colapsar

Resumen del método de instancia colapsar

Detalles de los atributos de instancia

#create_attrsObject (solo lectura)

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



14
15
16
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 14

def create_attrs
  @create_attrs
end

#create_attrs Atributos adicionales a añadir al Documento al crearlo.(Atributos adicionales a añadir al Documento al crearlo.) ⇒ Objeto (solo lectura)

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



14
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 14

attr_reader :create_attrs

Detalles del método de instancia

#compilar(attrs = {}, &block) ⇒ Documento También conocido como: nuevo

Compila un documento dado el selector y lo devuelve. Los criterios complejos, como las operaciones $in y $or, serán ignorados.

Ejemplos:

compile el documento.

Person.where(:title => "Sir").build

Compilación con selectores que se están ignorando.

Person.where(:age.gt => 5).build

Devuelve:

  • (documento)

    Un documento no persistente.



26
27
28
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 26

def compilar(attrs = {}, Ybloque)
  create_document(:nuevo, attrs, Ybloque)
end

#crear(attrs = {}, &block) ⇒ Documento

Crea un documento en la base de datos según el selector y devuélvelo. Se ignorarán criterios complejos, como las operaciones $in y $or.

Ejemplos:

Crear el documento.

Person.where(:title => "Sir").create

Crear con selectores que se están ignorando.

Person.where(:age.gt => 5).create

Devuelve:

  • (documento)

    Un documento recién creado.



41
42
43
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 41

def Cree(attrs = {}, Ybloque)
  create_document(crear:, attrs, Ybloque)
end

#crear!(attrs = {}, &bloque) ⇒ Documento

Crea un documento en la base de datos dado el selector y lo devuelve. Criterios complejos, como las operaciones $in y $or serán ignorados. Si la validación falla, se generará un error.

Ejemplos:

Crear el documento.

Person.where(:title => "Sir").create

Crear con selectores que se están ignorando.

Person.where(:age.gt => 5).create

Devuelve:

  • (documento)

    Un documento recién creado.

Aumenta:



58
59
60
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 58

def ¡crea!(attrs = {}, Ybloque)
  create_document(¡crear!, attrs, Ybloque)
end

#create_with(attrs = {}) ⇒ Mongoid::Criteria

Defina los atributos con los que se crearán los nuevos documentos.

Ten en cuenta que si `find_or_create_by` se llama después de esto dentro de una cadena de métodos, los atributos en la query anularán los de este método.

Ejemplos:

Defines los atributos que se deben usar cuando se crea un nuevo documento.

Person.create_with(job: 'Engineer').find_or_create_by(employer: 'MongoDB')

Devuelve:



71
72
73
74
75
76
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 71

def crear_con(attrs = {})
  tocar hacer
    @create_attrs ||= {}
    @create_attrs.update(attrs)
  end
end

#buscar_o_crear_por(atributos = {}, &bloque) ⇒ Documento

Encuentra el primer Document dadas las condiciones, o crea un nuevo documento con las condiciones proporcionadas.

Ejemplos:

Encuentra o crea el documento.

Person.find_or_create_by(:attribute => "value")

Parámetros:

  • attrs (Hash) (por defecto: {})

    Los atributos a comprobar.

Devuelve:

  • (documento)

    Un documento compatible o recién creado.



87
88
89
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 87

def buscar_o_crear_por(attrs = {}, Ybloque)
  encontrar_o(crear:, attrs, Ybloque)
end

#find_or_create_by!(attrs = {}, &block) ⇒ Documento

Encuentra el primer Document dadas las condiciones o crea un nuevo documento con las condiciones proporcionadas. Si la validación falla, se generará una excepción.

Ejemplos:

Encuentra o crea el documento.

Person.find_or_create_by!(:attribute => "value")

Parámetros:

  • attrs (Hash) (por defecto: {})

    Los atributos a comprobar.

Devuelve:

  • (documento)

    Un documento compatible o recién creado.

Aumenta:



103
104
105
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 103

def find_or_create_by!(attrs = {}, Ybloque)
  encontrar_o(¡crear!, attrs, Ybloque)
end

#find_or_initialize_by(attrs = {}, &block) ⇒ Documento

Encuentra el primer Document dadas las condiciones, o inicializa un nuevo documento con las condiciones que se proporcionaron.

Ejemplos:

Encuentra o inicializa el documento.

Person.find_or_initialize_by(:attribute => "value")

Parámetros:

  • attrs (Hash) (por defecto: {})

    Los atributos a comprobar.

Devuelve:

  • (documento)

    Un documento coincidente o recién inicializado.



116
117
118
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 116

def find_or_initialize_by(attrs = {}, Ybloque)
  encontrar_o(:nuevo, attrs, Ybloque)
end

#first_or_create(attribs = nil, &block) ⇒ Documento

Encuentra el primer Document o crea un nuevo documento con las condiciones proporcionadas más los atributos.

Ejemplos:

Primero, cree o cree el documento.

Person.where(name: "Jon").first_or_create(attribute: "value")

Parámetros:

  • attrs (Hash) (predeterminado: nulo)

    Los atributos adicionales a agregar.

Devuelve:

  • (documento)

    Un documento compatible o recién creado.



129
130
131
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 129

def primero_o_crear(attrs = nulo, Ybloque)
  first_or(crear:, attrs, Ybloque)
end

#first_or_create!(attrs = nil, &block) ⇒ Documento

Encuentre el primer Document, o cree un nuevo documento con las condiciones proporcionadas más atributos y generará un error si falla la validación.

Ejemplos:

Primero, cree o cree el documento.

Person.where(name: "Jon").first_or_create!(attribute: "value")

Parámetros:

  • attrs (Hash) (predeterminado: nulo)

    Los atributos adicionales a agregar.

Devuelve:

  • (documento)

    Un documento compatible o recién creado.



143
144
145
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 143

def first_or_create!(attrs = nulo, Ybloque)
  first_or(¡crear!, attrs, Ybloque)
end

#first_or_initialize(attrs = nil, &block) ⇒ Documento

Encuentra el primer Document o inicializa un nuevo documento con las condiciones y atributos especificados.

Ejemplos:

Primero o inicializar el documento.

Person.where(name: "Jon").first_or_initialize(attribute: "value")

Parámetros:

  • attrs (Hash) (predeterminado: nulo)

    Los atributos adicionales a agregar.

Devuelve:

  • (documento)

    Un documento coincidente o recién inicializado.



156
157
158
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 156

def primero_o_inicializar(attrs = nulo, Ybloque)
  first_or(:nuevo, attrs, Ybloque)
end