Módulo: Mongoid::Persistable::Upsertable
- Incluido en:
- Mongoid::Persistable
- Definido en:
- lib/mongoid/persistable/upsertable.rb
Overview
Define el comportamiento para las operaciones de persistencia que realizan una inserción de documentos.
Resumen del método de instancia colapsar
-
#upsert(opciones = {}) ⇒ verdadero
Realizar una inserción o actualización del documento.
Detalles del método de instancia
#inserción(options = {}) ⇒ true
Realiza una operación de inserción del documento. Si el documento no existe en la base de datos, Mongo insertará uno nuevo; de lo contrario, los campos se sobrescribirán con nuevos valores en el documento existente.
Si la opción de reemplazo es verdadera, se eliminarán los atributos no especificados; si es falsa, se conservarán. La opción de reemplazo tiene el valor predeterminado falso en Mongoid 9.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# Archivo 'lib/mongoid/persistable/upsertable.rb', línea 36 def inserción( = {}) prepare_upsert() hacer si [:reemplazar] si [:set_on_insert] propagar ArgumentError, "no se puede especificar :set_on_insert con `replace: true`" end Colección.buscar(atomic_selector).replace_one( as_attributes, inserción: true, sesión: _sesión) else attrs = { "$set" => as_attributes } attrs["$setOnInsert"] = [:set_on_insert] si [:set_on_insert] Colección.buscar(atomic_selector).update_one( attrs, inserción: true, sesión: _sesión) end end end |