クラス: Mongo::URI

継承:
オブジェクト
  • オブジェクト
すべて表示
次のことが含まれます。
アドレス::Validatorログ可能
定義:
lib/mongo/uri.rb

、lib/mongo/uri/srv_protocol.rb、lib/mongo/uri/options_mapper.rb

Overview

URI クラスは、ユーザーがMongoDB 接続string 形式の仕様 で定義されている URI を解析する方法を提供します。

https://www.mongodb.com/ja-jp/docs/manual/ 参照/ connection-string/

例:

URI string を使用してクライアント接続を行います。

uri = Mongo::URI.new('mongodb://localhost:27017')
client = Mongo::Client.new(uri.servers, uri.options)
client.(uri.credentials)
client[uri.database]

以来

  • 2.0.0

名前空間で定義済み

クラス: OptionsMapperSRVProtocol

定数の概要の削減

SCHEME =
非推奨。

3.0で削除されます。

MongoDB接続stringスキーム。

以来

  • 2.0.0

'mongodb://'
MONGODB_SCHEME =

MongoDB接続stringスキーム ルート。

以来

  • 2.5.0

'mongodb'
MONGODB_SRV_SCHEME =

MongoDB srv プロトコル接続stringスキーム ルート。

以来

  • 2.5.0

'mongodb+srv'
INVALID_SCHEME =
非推奨。

無効なスキームのエラーの詳細。

以来

  • 2.1.0

"無効なスキーム。スキームは " #{ MONGODB_SCHEME } " または " #{ MONGODB_SRV_SCHEME } ]である必要があります
FORMAT =

MongoDB URI 形式の仕様。

以来

  • 2.0.0

' MongoDB ://[username:password@]host1[:port1][,host2[:port2] ' +
',...[,hostN[:portN]]][/[データベース][?options]]'
ヘルプ =

MongoDB URI(接続string )ドキュメントURL

以来

  • 2.0.0

'https://www.mongodb.com/ja-jp/docs/manual/ 参照/ connection-string/'
安全ではない =

URL でエンコードする必要がある文字は安全ではありません。

以来

  • 2.1.0

%r{[:/@]}
PERCENT_CHAR =

ユーザー認証でエンコードする必要があるパーセント記号。

以来

  • 2.5.1

/%/
UNIX_SOCKET =

Unix ソケットのサフィックス。

以来

  • 2.1.0

/.sock/
HOST_DELim =

ホストを区切る文字。

以来

  • 2.1.0

','
HOST_PART_DELim =

ホストとポートを区切る文字。

以来

  • 2.1.0

':'
DATABASE_DELim =

データベースを区切る文字。

以来

  • 2.1.0

'/'
URI_OPTS_DELIM =

オプションを区切る文字。

以来

  • 2.1.0

'?'
INDIV_URI_OPTS_DELIM =
非推奨。

複数のオプションを区切る文字。

以来

  • 2.1.0

'&'
URI_OPTS_VALUE_DELIM =

オプションとその値を区切る文字。

以来

  • 2.1.0

'='
AUTH_USER_PWD_DELim =

ユーザー名とパスワードを区切る文字。

以来

  • 2.1.0

':'
AUTH_DELim =

認証資格情報を区切る文字。

以来

  • 2.1.0

'@'
SCHEME_DELim =

スキーム区切り文字。

以来

  • 2.5.0

'://'
INVALID_OPTS_VALUE_DELim =

無効なオプション形式のエラーの詳細。

以来

  • 2.1.0

' オプションとその値は区切る必要があります ' +
" by ' { { URI_OPTS_VALUE_DELim } に よる '
UTES_USER_PWD =

URL エンコードされていないユーザー名またはパスワードのエラーの詳細。

以来

  • 2.1.0

'ユーザー名とパスワードは URL エンコードする必要があります。'
UTES_UNIX_SOCKET =

URL がエンコードされていない Unix ソケット パスのエラーの詳細。

以来

  • 2.1.0

'UNIX ドメイン ソケットは URL エンコードする必要があります。'
UTES_DATABASE =

認証データベース名が null でない場合のエラーの詳細。

以来

  • 2.1.0

'認証データベースはURL でエンコードする必要があります。'
INVALID_OPTS_DELim =

データベース区切り文字なしでオプションを提供する際のエラーの詳細。

以来

  • 2.1.0

オプションが指定されている場合は、 データベース区切り文字 ' # { DATABASE_DELim } ' が存在する必要があり ます 。
INVALID_HOST =

欠落しているホストのエラーの詳細。

以来

  • 2.1.0

'欠落しているホスト。少なくとも 1 つを提供する必要があります。'
INVALID_port =

無効なポートのエラーの詳細。

以来

  • 2.1.0

'ポートが無効です。ポートは 0 より大きく 65536 より小さい整数である必要があります'
READ_MODE_MAP =

URI 読み込み設定 (read preference) モードから Ruby ドライバー読み込み設定 (read preference) モードへのマップ

以来

  • 2.0.0

{
  'プライマリ' => : プライマリ,
  'プライマリ優先' => :primary_preferred,
  'セカンダリ' => :secondary,
  'セカンダリ' => :secondary_preferred,
  最も近い => :nearest
}.freeze
AUTH_MECH_MAP =

Ruby ドライバー メカニズムへの URI 認証メカニズムのマップ

以来

  • 2.0.0

{
  'GSSAPI' => :gssapi,
  'MONGODB-AWS' => :aws,
  #MONGODB-CR は非推奨であり、ドライバー バージョン3.0で削除されます
  'MONGODB-CR' => :mongodb_CR,
  'MONGODB-X509' => :mongodb_x 509,
  'PLAIN' => :lain,
   SCRAM-SHA- 1  => :SCRAM,
   SCRAM-SHA- 256  => :SCRAM 256,
}.freeze
SERVER_MONITORING_MODES =

serverMonitoringMode URI オプションの有効な値。

以来

  • 2.0.0

%w[ストリーム ポーリング auto].freeze
REPATEABLE_OPTIONS =

URI 内に複数回使用することが許可されるオプション。

「tls」と「ssl」のすべてのインスタンスが同じ値を持つという URI オプション仕様の要件に従うには、それらのオプションに対して渡されるすべての値を追跡する必要があります。これらが競合しないと仮定すると、URI を解析した後すぐに 1 つの値に圧縮されます。

以来

  • 2.1.0

%i[tags_sets ssl]

Loggableに含まれる定数

ログ可能::PRFIX

インスタンス属性の概要を折りたたむ

クラスメソッドの概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

Address::Validatorに含まれるメソッド

#validate_address_str!

Loggableに含まれるメソッド

#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger

コンストラクターの詳細

#初期化(string, オプション = {{}) = {} = 初期化] = URI

指定された string から新しい URI を作成します。

例:

新しい URI を作成します。

URI.new('mongodb://localhost:27017')

パラメーター:

  • string ( string )

    解析する URI 。

  • options ハッシュ (デフォルトは{}です)

    オプション。

オプション ハッシュ( options ):

  • :logger ロガー

    使用するカスタム ロガー。

次の値が発生します。

以来

  • 2.0.0



282
283
284
285
286
287
288
289
290
291
292
293
294
295
# ファイル 'lib/mongo/uri.rb', 行 282

デフォルト 初期化(string, options = {})
  発生 エラー::InvalidURI.新着情報(string, ' URI は nil ではなく string である必要があります。 ') ただし、 string
  発生 エラー::InvalidURI.新着情報(string, URI を解析できません。 ') 場合 string.空の場合

  @string = string
  @options = options
  parsed_scheme, _, 残り = string.パーティション(SCHEME_DELim)
  ただし、 parsed_scheme == スキーム
    raise_invalid_error!(" 無効なスキーム ' #{ parsed_scheme } '。スキームは ' #{ MONGODB_SCHEME } ' である必要があります。SRV URI を解析するには URI#get を使用し ます 。)
  end
  raise_invalid_error!( URI にホストがありません) 場合 残り.空の場合
  parse!(残り)
  validate_uri_options!
end

インスタンス属性の詳細

#オプション=オブジェクト(読み取り専用)

URI パーサー オブジェクト オプション。

以来

  • 2.0.0



37
38
39
# ファイル 'lib/mongo/uri.rb', 行 37

デフォルト options
  @options
end

サーバー=オブジェクト(読み取り専用)

URI で指定されたサーバー。

以来

  • 2.0.0



47
48
49
# ファイル 'lib/mongo/uri.rb', 行 47

デフォルト サーバー
  @servers
end

#uri_options =オブジェクト(読み取り専用)

Mongo::Options::URI で指定されたオプションを編集しました。

以来

  • 2.1.0



42
43
44
# ファイル 'lib/mongo/uri.rb', 行 42

デフォルト uri_options
  @uri_options
end

クラスメソッドの詳細

.get(string, opts = {}) ⇒ URI, URI::SRVProtocol

URI オブジェクトまたは SRVProtocol URI オブジェクトのいずれかを取得します。

例:

URI オブジェクトを取得します。

URI.get(string)

パラメーター:

  • string ( string )

    解析する URI 。

  • ops ハッシュ (デフォルトは{}です)

    オプション。

  • options ハッシュ

    カスタマイズ可能なオプションのセット

次の値を返します。

次の値が発生します。

以来

  • 2.5.0



231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
# ファイル 'lib/mongo/uri.rb', 行 231

デフォルト 自己.得る(string, ops = {})
  発生 エラー::InvalidURI.新着情報(string, ' URI は nil ではなく string である必要があります。 ') ただし、 string
  発生 エラー::InvalidURI.新着情報(string, URI を解析できません。 ') 場合 string.空の場合

  スキーム, = string.パーティション(SCHEME_DELim)
  ケース スキーム
  次の場合: MONGODB_SCHEME
    URI.新着情報(string, ops)
  次の場合: MONGODB_SRV_SCHEME
    SRVProtocol.新着情報(string, ops)
  else
    発生 エラー::InvalidURI.新着情報(string,
                                " 無効なスキーム ' # {schema } } '。スキームは ' # { MONGODB_SCHEME } ' または ' #{ MONGODB_SRV_SCHEME } ' である必要があり ます)
  end
end

インスタンス メソッドの詳細

# client_optionsMongo::Options::Redacted

インスタンス化時にMongo ::Client に渡す必要があるオプション ハッシュを取得します。そのため、その点で の認証情報とデータベースをマージする必要はありません。ここには1つの点しかありません。

例:

クライアント オプションを取得します。

uri.client_options

次の値を返します。

以来

  • 2.0.0



257
258
259
260
261
262
263
# ファイル 'lib/mongo/uri.rb', 行 257

デフォルト client_options
  ops = uri_options.タップ 行う |ops|
    ops[:database] = @database 場合 @database
  end

  @user ? ops.merge(Credentials) : ops
end

認証情報=ハッシュ = ハッシュ

URI で提供されている認証情報を取得します。

例:

認証情報を取得します。

uri.credentials

次の値を返します。

  • ハッシュ

    認証情報。

    • :user [ string ] ユーザー。
    • :password [ string ] 提供されたパスワード。

以来

  • 2.0.0



307
308
309
# ファイル 'lib/mongo/uri.rb', 行 307

デフォルト Credentials
  { user: @user, パスワード: @password }
end

#databaseString

URI で指定されたデータベースを取得します。

例:

データベースを取得します。

uri.database

次の値を返します。

  • ( string )

    データベース。

以来

  • 2.0.0



319
320
321
# ファイル 'lib/mongo/uri.rb', 行 319

デフォルト database
  @database || Database::管理者
end

# srv_records =オブジェクト

以来

  • 2.0.0



265
266
267
# ファイル 'lib/mongo/uri.rb', 行 265

デフォルト srv_records
  nil
end

# to_s = string

URI をstringとして取得します。

例:

URI をstringとして取得します。

uri.to_s

次の値を返します。

  • ( string )

    URI string。

以来

  • 2.0.0



329
330
331
# ファイル 'lib/mongo/uri.rb', 行 329

デフォルト to_s
  再構築_uri
end