模块:Mongo::Operation::Validatable Private

包含在:
Delete::OpMsgUpdate::OpMsgWriteCommand::OpMsg
定义于:
构建/ruby-driver-v2.19/lib/ mongo /operation/shared/validatable.rb

该模块是私有 API 的一部分。 您应尽可能避免使用此模块,因为它将来可能会被删除或更改。

实例方法摘要折叠

实例方法详细信息

# validate_array_filters (connection, selector_or_item) ⇒对象

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

这里的 selector_or_item 可以是:

  • findAndModify 命令中使用的选择器,或

  • 更新命令中更新数组的数组元素之一。



58
59
60
61
62
63
64
# File ' 构建/ruby-driver-v2.19/lib/ mongo /operation/shared/validatable.rb', 第58行

def validate_array_filters(连接, selector_or_item)
  if selector_or_item.键?(:arrayFilters) &&
    !连接.功能.array_filters_enabled?
  then
    提高 错误::UnsupportedArrayFilters
  end
end

# validate_collation (connection, selector_or_item) ⇒对象

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

这里的 selector_or_item 可以是:

  • findAndModify 命令中使用的选择器,或

  • 更新命令中更新数组的数组元素之一。



69
70
71
72
73
74
75
# File ' 构建/ruby-driver-v2.19/lib/ mongo /operation/shared/validatable.rb', 第69行

def validate_collation(连接, selector_or_item)
  if selector_or_item.键?(:collation) &&
    !连接.功能.collation_enabled?
  then
    提高 错误::UnsupportedCollation
  end
end

# validate_find_options (connection, selector) ⇒对象

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File ' 构建/ruby-driver-v2.19/lib/ mongo /operation/shared/validatable.rb', 第24行

def validate_find_options(连接, 选择器)
  if 选择器.键?(:hint) &&
    !连接.功能.find_and_modify_option_validation_enabled?
  then
    提高 错误::UnsupportedOption.hint_error
  end

  if 选择器.键?(:arrayFilters) &&
    !连接.功能.array_filters_enabled?
  then
    提高 错误::UnsupportedArrayFilters
  end

  if 选择器.键?(:collation) &&
    !连接.功能.collation_enabled?
  then
    提高 错误::UnsupportedCollation
  end
end

# validate_hint_on_update (connection, selector_or_item) ⇒对象

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

这里的 selector_or_item 可以是:

  • findAndModify 命令中使用的选择器,或

  • 更新命令中更新数组的数组元素之一。



47
48
49
50
51
52
53
# File ' 构建/ruby-driver-v2.19/lib/ mongo /operation/shared/validatable.rb', 第47行

def validate_hint_on_update(连接, selector_or_item)
  if selector_or_item.键?(:hint) &&
    !连接.功能.update_delete_option_validation_enabled?
  then
    提高 错误::UnsupportedOption.hint_error
  end
end

# validate_updates (connection, updates) ⇒对象

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。



77
78
79
80
81
82
83
84
# File ' 构建/ruby-driver-v2.19/lib/ mongo /operation/shared/validatable.rb', 第77行

def validate_updates(连接, 更新)
  更新. do |update|
    validate_array_filters(连接, update)
    validate_collation(连接, update)
    validate_hint_on_update(连接, update)
  end
  更新
end