Sha256: 2b5d3838f61f98ece3e92baab66af8f56d163619f592199606de20a3a4fcf772
Contents?: true
Size: 935 Bytes
Versions: 14
Compression:
Stored size: 935 Bytes
Contents
# encoding: utf-8 module Mongoid module Persistable # Defines behaviour for $unset operations. # # @since 4.0.0 module Unsettable extend ActiveSupport::Concern # Perform an $unset operation on the provided fields and in the # values in the document in memory. # # @example Unset the values. # document.unset(:first_name, :last_name, :middle) # # @param [ Array<String, Symbol> ] fields The names of the fields to # unset. # # @return [ true ] If the operation succeeded. # # @since 4.0.0 def unset(*fields) prepare_atomic_operation do |ops| fields.flatten.each do |field| normalized = database_field_name(field) attributes.delete(normalized) ops[atomic_attribute_name(normalized)] = true end { "$unset" => ops } end end end end end
Version data entries
14 entries across 14 versions & 5 rubygems