类:Mongoid::Atomic::Modifiers

继承:
哈希
  • 对象
显示全部
定义于:
lib/mongoid/atomic/modifiers.rb

Overview

此类包含支持对数据库进行原子操作的逻辑。

实例方法摘要折叠

实例方法详细信息

# add_to_set (modifications) ⇒对象

将原子 $addToSet 修饰符添加到哈希中。

例子:

Add the $addToSet modifiers.

modifiers.add_to_set({ "preference_ids" => [ "one" ] })

参数:

  • 修改 (哈希)

    添加到集合修饰符。



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/mongoid/atomic/modifiers.rb', line 17

def add_to_set(修改)
  修改.each_pair do |字段, |
    if add_to_sets.has_key?(字段)
      . do |val|
        add_to_sets[字段][" $each "].推动(val)
      end
    else
      add_to_sets[字段] = { " $each " =>  }
    end
  end
end

# pull (modifications) ⇒对象

将拉取所有修饰符添加到修饰符哈希中。

例子:

添加拉取所有操作。

modifiers.pull({ "addresses" => { "_id" => { "$in" => [ 1, 2, 3 ]}}})

参数:

  • 修改 (哈希)

    拉取所有修饰符。



48
49
50
51
52
53
# File 'lib/mongoid/atomic/modifiers.rb', line 48

def pull(修改)
  修改.each_pair do |字段, |
    pull[字段] = 
    pull_fields[字段.拆分(" . ", 2)[0]] = 字段
  end
end

# pull_all (modifications) ⇒对象

将拉取所有修饰符添加到修饰符哈希中。

例子:

添加拉取所有操作。

modifiers.pull_all({ "addresses" => { "street" => "Bond" }})

参数:

  • 修改 (哈希)

    拉取所有修饰符。



35
36
37
38
39
40
# File 'lib/mongoid/atomic/modifiers.rb', line 35

def pull_all(修改)
  修改.each_pair do |字段, |
    add_operation(pull_alls, 字段, )
    pull_fields[字段.拆分(" . ", 2)[0]] = 字段
  end
end

# push (modifications) ⇒对象

将推送修改器添加到修改器哈希中。

例子:

添加推送操作。

modifiers.push({ "addresses" => { "street" => "Bond" }})

参数:

  • 修改 (哈希)

    The push modifiers.



61
62
63
64
65
66
67
# File 'lib/mongoid/atomic/modifiers.rb', line 61

def 推动(修改)
  修改.each_pair do |字段, |
    push_fields[字段] = 字段
    mods = push_conflict?(字段) ? 冲突的推送 : 推送
    add_operation(mods, 字段, { ' $each ' => 阵列.换行() })
  end
end

# set (modifications) ⇒对象

将 set 操作添加到修饰符哈希中。

例子:

添加设立操作。

modifiers.set({ "title" => "sir" })

参数:

  • 修改 (哈希)

    The set modifiers.



75
76
77
78
79
80
81
82
# File 'lib/mongoid/atomic/modifiers.rb', line 75

def (修改)
  修改.each_pair do |字段, |
    来年 if 字段 == " _id "
    mods = set_conflict?(字段) ? 冲突集 : 
    add_operation(mods, 字段, )
    set_fields[字段.拆分(" . ", 2)[0]] = 字段
  end
end

# unset (modifications) ⇒对象

将未设置的操作添加到修饰符哈希中。

例子:

添加未设置的操作。

modifiers.unset([ "addresses" ])

参数:

  • 修改 ( Array<String> )

    未设置的关联名称。



90
91
92
93
94
# File 'lib/mongoid/atomic/modifiers.rb', line 90

def 未设置(修改)
  修改. do |字段|
    取消设置.update(字段 => true)
  end
end