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
-
#inserción(options = {}) ⇒ true
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 está activada, los atributos no definidos se descartarán y, si está desactivada, los atributos no definidos se mantendrán. Por defecto, la opción replace está en false en Mongoid 9.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# Archivo 'lib/mongoid/persistable/upsertable.rb', línea 33 def inserción( = {}) prepare_upsert() hacer si [sustituir] propagar ArgumentError, 'no se puede especificar :set_on_insert con `replace: true`' si [:set_on_insert] 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 |