类:Mongo::WriteConcern::Base

继承:
对象
  • 对象
显示全部
定义于:
build/Ruby-driver-v 2.19 /lib/mongo/write_concern/base.rb

Overview

定义写入关注的常见行为。

由于:

  • 2.7.0

直接已知子类

已确认未确认

实例属性摘要折叠

实例方法摘要折叠

构造函数详情

#initialize (options) ⇒基础

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

在给定选项的情况下实例化一个新的写关注。

例子:

实例化新的写关注(write concern)模式。

Mongo::WriteConcern::Acknowledged.new(:w => 1)

参数:

  • 选项 (哈希)

    用于实例化的选项。

选项哈希 ( options ):

  • :w 整数string

    要确认的服务器或自定义模式的数量。

  • :j ( true , false )

    是否确认写入日志。

  • :fsync ( true , false )

    写入是否应同步到磁盘。

  • :wtimeout 整数

    引发错误之前等待确认的毫秒数。

由于:

  • 2.0.0



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File ' 构建/ruby-driver-v2.19/lib/ mongo /write_concern/base.rb', 第48行

def 初始化(选项)
  选项 = 选项::映射器.transform_keys_to_symbols(选项)
  选项 = 选项::映射器.transform_values_to_strings(选项).冻结

  if 选项[:w]
    if 选项[:w] == 0 && 选项[:j]
      提高 错误::InvalidWriteConcern, "无效的写关注选项:当 :w 为0时,:j 不能为 true : #{ options .inspect } } "
    elsif 选项[:w] == 0 && 选项[:fsync]
      提高 错误::InvalidWriteConcern, " 无效的写关注选项::w 为 时,: fsync 为0 true: #{ options .inspect } "
    elsif 选项[:w].is_a?(整型) && 选项[:w] < 0
      提高 错误::InvalidWriteConcern, "无效的写关注(write concern)选项::w 不能为负数 ( #{ options [ :w ] } ): #{ options .inspect } } "
    end
  end

  if 选项[:journal]
    提高 错误::InvalidWriteConcern, "无效的写关注选项:使用 :j 表示日志: #{ options .inspect } } "
  end

  @options = 选项
end

实例属性详细信息

# options哈希(只读)

返回 写关注选项。

返回:

  • (哈希)

    写关注(write concern)选项。

由于:

  • 2.7.0



27
28
29
# File ' 构建/ruby-driver-v2.19/lib/ mongo /write_concern/base.rb', 第27行

def 选项
  @options
end