类:Mongo::URI::SRVProtocol

继承:
Mongo::URI 显示全部
定义于:
build/Ruby-driver-v 2.19 /lib/mongo/uri/srv_protocol.rb

Overview

使用 mongodb+srv 协议的 URI 解析器,该协议指定用于查询 SRV 记录的 DNS。 驱动程序将在 DNS 服务器上查询 <hostname>.<domainname>、 以 _mongodb._tcp 为前缀 然后,SRV 记录可用作 Mongo::Client 的种子列表。 驱动程序还会查询提供默认连接string选项的 TXT 记录。 只允许一条 TXT 记录,并且只允许 Mongo::Client 选项的子集。

有关详细信息,请参阅初始 DNS 种子列表发现规范。

github.com/mongodb/species/blob/master/source/initial-dns-seedlist-discovery

例子:

使用 uri string建立客户端连接。

client = Mongo::Client.new('mongodb+srv://test6.test.build.10gen.cc/')

由于:

  • 2.5.0

常量摘要

Mongo::URI继承的常量

AUTH_DELIM , AUTH_MECH_MAP , AUTH_USER_PWD_DELIM , DATABASE_DELIM , HELP , HOST_DELIM , HOST_PORT_DELIM , INDIV_URI_OPTS_DELIM , INVALID_OPTS_DELIM , INVALID_OPTS_VALUE_DELIM , INVALID_SCHEME , MONGODB_SCHEME , MONGODB_SRV_SCHEME , PERCENT_CHAR , READ_MODE_MAP , REPEATABLE_OPTIONS , SCHEME , SCHEME_DELIM , UNESCAPED_DATABASE , UNESCAPED_UNIX_SOCKET , UNESCAPED_USER_PWD , UNIX_SOCKET , UNSAFE , URI_OPTS_DELIM , URI_OPTS_VALUE_DELIM

Loggable中包含的常量

Loggable::PREFIX

实例属性摘要折叠

Mongo::URI继承的属性

#options#servers#uri_options

实例方法摘要折叠

Mongo::URI继承的方法

#credentials#databaseget#initialize#to_s

Address::Validator中包含的方法

#validate_address_str!

Loggable中包含的方法

#log_debug#log_error#log_ Fatal#log_info#log_warn#logger

构造函数详情

该类从Mongo::URI继承了一个构造函数

实例属性详细信息

# query_hostnamestring (只读)

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

URI 中指定的用于查找 SRV 记录的主机名。

需要定义此属性,因为 SRVProtocol 会将 #servers 更改为查找的结果,而不是 URI 中指定的主机名。

返回:

  • ( string )

    SRV 查找中使用的主机名。

由于:

  • 2.5.0



72
73
74
# File ' 构建/ruby-driver-v2.19/lib/ mongo /uri/srv_protocol.rb', 第72行

def query_hostname
  @query_hostname
end

# srv_records对象(只读)

由于:

  • 2.5.0



39
40
41
# File ' 构建/ruby-driver-v2.19/lib/ mongo /uri/srv_protocol.rb', 第39行

def srv_records
  @srv_records
end

# srv_resultSrv::Result (只读)

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

返回 SRV 查找结果。

返回:

由于:

  • 2.5.0



60
61
62
# File ' 构建/ruby-driver-v2.19/lib/ mongo /uri/srv_protocol.rb', 第60行

def srv_result
  @srv_result
end

实例方法详细信息

# client_options哈希

获取在实例化时需要传递给 Mongo::Client 的选项哈希值,因此我们不必在点合并 txt记录选项、凭证和数据库- 这里只有一个点。

例子:

获取客户端选项。

uri.client_options

返回:

  • (哈希)

    传递给 Mongo::Client 的选项

由于:

  • 2.5.0



51
52
53
54
55
# File ' 构建/ruby-driver-v2.19/lib/ mongo /uri/srv_protocol.rb', 第51行

def client_options
  opts = @txt_options.合并(merge)(ssl: true)
  opts = opts.合并(merge)(uri_options).合并(merge)(:database => database)
  @user ? opts.合并(merge)(凭证) : opts
end