Módulo: Mongoid::Criteria::Modifiable

Incluido en:
Mongoid::Criteria
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 atributo de instancias

#create_attrsObject (solo lectura)

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.



11
12
13
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 11

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 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.



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

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.



23
24
25
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 23

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

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

Crea un documento en la base de datos dado el selector y lo devuelve. Se ignorarán los criterios complejos, como las operaciones $in y $or.

Ejemplos:

Crea 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.



38
39
40
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 38

def Cree(attrs = {}, &bloque)
  create_document(crear:, attrs, &bloque)
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:

Crea 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:



55
56
57
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 55

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

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

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

Tome en cuenta que si find_or_create_by se llama después de esto en una cadena de métodos, los atributos en la query sobrescribirá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:



68
69
70
71
72
73
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 68

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

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

Encuentre el primer Document dadas las condiciones o cree un nuevo documento con las condiciones proporcionadas.

Ejemplos:

Encuentra o crea el documento.

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

Parámetros:

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

    Los atributos que se van a comprobar.

Devuelve:

  • (documento)

    Un documento compatible o recién creado.



84
85
86
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 84

def find_or_create_by(attrs = {}, &bloque)
  find_or(crear:, attrs, &bloque)
end

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

Encuentra el primer Document dado las condiciones, o crea un nuevo documento con las condiciones que se han proporcionado. 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 (encriptada) (por defecto: {})

    Los atributos que se van a comprobar.

Devuelve:

  • (documento)

    Un documento compatible o recién creado.

Aumenta:



100
101
102
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 100

def find_or_create_by!(attrs = {}, &bloque)
  find_or(¡crear!, attrs, &bloque)
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 hayan suministrado.

Ejemplos:

Encuentra o inicializa el documento.

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

Parámetros:

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

    Los atributos que se van a comprobar.

Devuelve:

  • (documento)

    Un documento coincidente o recién inicializado.



113
114
115
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 113

def find_or_initialize_by(attrs = {}, &bloque)
  find_or(:nuevo, attrs, &bloque)
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 (encriptada) (valor por defecto: nil)

    Los atributos adicionales a agregar.

Devuelve:

  • (documento)

    Un documento compatible o recién creado.



126
127
128
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 126

def first_or_create(attrs = nulo, &bloque)
  first_or(crear:, attrs, &bloque)
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 (encriptada) (valor por defecto: nil)

    Los atributos adicionales a agregar.

Devuelve:

  • (documento)

    Un documento compatible o recién creado.



140
141
142
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 140

def first_or_create!(attrs = nulo, &bloque)
  first_or(¡crear!, attrs, &bloque)
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, cree o inicialice el documento.

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

Parámetros:

  • attrs (encriptada) (valor por defecto: nil)

    Los atributos adicionales a agregar.

Devuelve:

  • (documento)

    Un documento coincidente o recién inicializado.



153
154
155
# Archivo 'lib/mongoid/criteria/modifiable.rb', línea 153

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