クラス: Mongo::Server:: Description

継承:
オブジェクト
  • オブジェクト
すべて表示
定義:
lib/mongo/サーバー/description.rb

、lib/mongo/サーバー/description/features.rb、lib/mongo/サーバー/description/load_ balancer.rb

Overview

hello コマンドの結果が入力されるサーバーの説明を表します。

注: 不明なサーバーにはワイヤバージョンはありませんが、レガシー理由により、それらがないサーバーの min_wire_version と max_wire_version の 0 が返されます。現在のところ、サーバーが不明な場合にドライバーでコマンドが構築されることがあるため、min_wire_version と max_wire_version への参照は nil であってはなりません。ドライバーの動作が変更された場合(https://JIRA.mongodb.org/browse/Ruby-1805)、これは不要になる場合があります。

以来

  • 2.0.0

名前空間で定義済み

クラス: 機能LoadBalancer

定数の概要の削減

アービタ =
非推奨。

コンフィギュレーションからアービタ情報を読み取るための定数。

以来

  • 2.0.0

'arbiterOnly'
アービタ =

コンフィギュレーションからアービタ情報を読み取るための定数。

以来

  • 2.0.0

'アービタ'
非表示 =

構成から非表示情報を読み取るための定数。

以来

  • 2.0.0

'hidden'
HOSTS =

コンフィギュレーションからホスト情報を読み取るための定数。

以来

  • 2.0.0

'ホスト'
メッセージ =
非推奨。

メッセージ値のキーの定数。

以来

  • 2.0.0

'msg'
MONGOS_MESSAGE =
非推奨。

シャーディングされたクラスターを示すメッセージの定数。

以来

  • 2.0.0

'isdb Grid'
REPLICASET =
非推奨。

スコープ サーバーを決定するための定数。

以来

  • 2.0.0

'isreplicaset'
MAX_BSON_OBJECT_SIZE =

構成から最大BSONサイズ情報を読み取るための定数。

以来

  • 2.0.0

'maxBsonObjectSize'
MAX_MESSAGE_BYTES =

構成 から最大メッセージ サイズ情報を読み取るための定数。

以来

  • 2.0.0

'maxMessageSizeBytes'
MAX_WIRE_VERSION =

最大ワイヤバージョンの定数。

以来

  • 2.0.0

'maxWireVersion'
MIN_WIRE_VERSION =

最小ワイヤバージョンの定数。

以来

  • 2.0.0

'minWireVersion'
MAX_WRITE_バッチ_サイズ=

最大書込みバッチ サイズを読み取るための定数。

以来

  • 2.0.0

'maxWriteBatchSize'
LAST_WRITE =

lastWrite サブドキュメントの定数。

以来

  • 2.4.0

'lastWrite'
LAST_WRITE_DATE =

lastWrite サブドキュメントの lastWriteDate フィールドの定数。

以来

  • 2.4.0

'lastWriteDate'
ME =

me フィールドを読み取るための定数。

以来

  • 2.1.0

'me'
DEFAULT_MAX_WRITE_バッチ_サイズ=

デフォルトの最大書込み (write) バッチ サイズ。

以来

  • 2.0.0

1000
Legacy_WIRE_VERSION =
非推奨。

3.0で削除されます。

レガシー ワイヤプロトコル バージョン

以来

  • 2.0.0

0
PASSIVE =

構成からパッシブ情報を読み取るための定数。

以来

  • 2.0.0

'PASSIVE'
パスワード =

パッシブ サーバー リストを読み取るための定数。

以来

  • 2.0.0

'パッシブ性'
プライマリ =
非推奨。

構成からプライマリ情報を読み取るための定数。

以来

  • 2.0.0

'is マスター'
Primary_HOST =

コンフィギュレーションからプライマリ ホスト フィールドを読み取るための定数。

以来

  • 2.5.0

'プライマリ'
セカンダリ =
非推奨。

構成からセカンダリ 情報を読み取るための定数。

以来

  • 2.0.0

'セカンダリ'
set_name =

コンフィギュレーションからレプリカセット名情報を読み取るための定数。

以来

  • 2.0.0

'セット名'
タグ =

構成からタグ情報を読み取るための定数。

以来

  • 2.0.0

'tags'
ELECTION_ID =

構成から electionId 情報を読み取るための定数。

以来

  • 2.1.0

'electionId'
Set_VERSION =

config から setVersion 情報を読み取るための定数。

以来

  • 2.2.2

'setVersion'
LOCAL_TIME =

config から localTime 情報を読み取るための定数。

以来

  • 2.1.0

'localTime'
OPERATION_TIME =

config から operationTime 情報を読み取るための定数。

以来

  • 2.5.0

'optime'
Logical_SESSION_TIME_MINUTES =

構成から logicalSessionTimeoutMinutes 情報を読み取るための定数。

以来

  • 2.5.0

'logicalSessionTimeoutMinutes'
CONNECTION_ID =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

構成から connectionId 情報を読み取るための定数。

以来

  • 2.0.0

'connectionId'
EXCLUSTER_FOR_COMPARISON =

2 つの説明を比較するときに除外するフィールド。

以来

  • 2.0.6

[ LOCAL_TIME,
LAST_WRITE,
OPERATION_TIME,
操作::CLUSTER_TIME,
CONNECTION_ID, ].freeze
SERVER_VERSION_WIRE_VERSION_MAP =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0

{
  '8.2' => 27,
  '8.0' => 25,
  '7.0' => 21,
  '6.0' => 17,
  '5.2' => 15,
  '5.1' => 14,
  '5.0' => 12,
  '4.4' => 9,
  '4.2' => 8,
}.freeze

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

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

コンストラクターの詳細

# 初期化(アドレス、設定 = {}、平均_round_drop_time: nil、 minimum_round_trigger_time:0 、 load_ balancer: false 、 force_load_ balancer: false ) = 説明

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

hello コマンドの結果から新しいサーバーの説明をインスタンス化するか、Unknown サーバーと LoadBalancer サーバーのプレースホルダー説明を作成します。

例:

新しい説明をインスタンス化します。

Description.new(address, { 'isWritablePrimary' => true }, 0.5)

パラメーター:

  • address アドレス

    サーバーのアドレス。

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

    hello コマンドの結果。

  • Average_round_drop_time 浮動小数 (デフォルトはnil

    hello コマンドが完了するまでにかかった移動平均時間(秒)。

  • minimum_round_drop_time 浮動小数 (デフォルトは0です)

    最後の hello コマンド 10 個の最小ラウンド トリップ時間。

  • load_ balancer true | false (デフォルトはfalse

    サーバーがロード バランサーとして扱われるかどうか。

  • force_load_Balancer true | false (デフォルトはfalse

    サーバーが強制的にロード バランサーになるかどうか。

以来

  • 2.0.0



216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
# ファイル 'lib/mongo/ サーバー/description.rb', 行 216

デフォルト 初期化(address, config = {}, Average_round_drop_time: nil,
               minimum_round_drop_time: 0, load_Balancer: false,
               force_load_Balancer: false)
  @address = address
  @config = config
  @load_ balancer = !!load_ balancer
  @ force_load_Balancer = !!force_load_Balancer
  @feature = 主な機能.新着情報(wire_versions, me || @address.to_s)
  @average_round_drop_time = Average_round_drop_time
  @ minimum_round_drop_time = minimum_round_drop_time
  @last_update_time = 時間.になりました.freeze
  @last_update_monotime = Utils.MongoDB_time

  loadBalanced=true URI オプションが設定されている場合、ドライバーは拒否します
  通信するサーバーが serviceId を設定していない場合に動作するように
  is Master/hello 応答の # 。
  #
  # 現時点では、evergreen で適切なロード バランサー セットアップを実行できません
  #
  したがって、接続=:load_ ユーザーが代わりに Ruby オプションを使用する場合、
  loadBalanced=true URI オプションの数(serviceId が で設定されていない場合)
  ドライバーが serviceId を作成し、
  # は、自分自身を として報告しないサーバーを扱います。
  ロード バランサーの背後にあるサーバーとして、ロード バランサーの背後にある を参照してください。
  #
  5.0 + サーバーは任意の triggerVersion.processId を提供する必要があります
  は、特定のプロセス インスタンスに固有です。 それを使用できます
  サービス ID のプロキシとしての および フィールド。
  #
  # tokenVersion が何らかの理由で提供されない場合、
  # serviceId をローカルで作成します。
  #
  #どちらの場合も、実際のサーバーが提供する serviceId は、
  # ロード バランサーは BSON::ObjectId である必要があります。 が作成した
  # サービス ID は文字列であり、実際のサービス ID と区別するため
  # ProcessId は BSON::ObjectId でもありますが、次のようになります
  これが架空のサービス ID であることを明確にするために string にマッピングされた # を使用します。
  #
  # TODO: https://JIRA.mongodb.org/browse/Ruby-{0 2881が完了したら、これを削除します。
  場合 load_ balancer & & ok? & & !service_id
    ただし、 force_load_Balancer
      発生 エラー::MissingServiceId,
            「 #{ アドレス . シード } のサーバー はハンドシェイク応答でサービス ID を提供しませんでした 」
    end

    false_service_id = 場合 Process_id = topic & & topic['processId']
                        " process: #{ process_id } "
                      else
                        "face:#{rund((2*32) - 1) + 1}"
                      end
    @config = @config.merge(' serviceId ' => false_service_id)
  end

  return ただし、 mongo::Lint.有効か

  # キャッシュ インスタンス変数を事前入力する
  ホスト
  アービタ
  パッシブ性
  topic

  freeze
end

インスタンス属性の詳細

#アドレス=アドレス(読み取り専用)

address サーバーのアドレスを返します。

次の値を返します。

  • アドレス

    address サーバーのアドレス。

以来

  • 2.0.0



281
282
283
# ファイル 'lib/mongo/ サーバー/description.rb', 行 281

デフォルト address
  @address
end

# Average_round_drop_time =浮動小数点数(読み取り専用)

hello 呼び出しが完了するまでにかかった移動平均時間を返します。

次の値を返します。

  • 浮動小数

    hello 呼び出しが完了するまでにかかった移動平均時間。

以来

  • 2.0.0



297
298
299
# ファイル 'lib/mongo/ サーバー/description.rb', 行 297

デフォルト Average_round_drop_time
  @average_round_drop_time
end

設定:ハッシュ(読み取り専用)

hello コマンドから実際の結果を返します。

次の値を返します。

  • ハッシュ

    hello コマンドによる実際の結果。

以来

  • 2.0.0



284
285
286
# ファイル 'lib/mongo/ サーバー/description.rb', 行 284

デフォルト config
  @config
end

#機能機能 (読み取り専用)

サーバーの機能を返します。

次の値を返します。

  • 機能

    feature サーバーの機能。

以来

  • 2.0.0



294
295
296
# ファイル 'lib/mongo/ サーバー/description.rb', 行 294

デフォルト 機能
  @feature
end

# last_update_mongotime =浮動小数点数(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

このサーバー説明が単調クロックに従って作成された時間。

次の値を返します。

  • 浮動小数

    サーバー説明作成単調時間。

以下も参照してください。

  • 詳細については、

以来

  • 2.0.0



842
843
844
# ファイル 'lib/mongo/ サーバー/description.rb', 行 842

デフォルト last_update_monotime
  @last_update_monotime
end

# last_update_time =時間(読み取り専用)

注:

この時間はサーバー チェックが成功したタイミングを示すものではありません。

このサーバーの説明が作成された時間。

不明な更新サーバーをマークすることで、説明と last_update_time をマークすることで完了します。 Server#last_scan を使用して、サーバーがモニターによって最後に正常にチェックされたタイミングを確認します。

次の値を返します。

  • 時間

    サーバー説明の作成時間。

以来

  • 2.7.0



833
834
835
# ファイル 'lib/mongo/ サーバー/description.rb', 行 833

デフォルト last_update_time
  @last_update_time
end

# minimum_round_trigger_time = 浮動小数点数(読み取り専用)

前回の hello 呼び出しが完了するまでにかかった最小時間を返します。

次の値を返します。

  • 浮動小数

    最後の 10 回の hello 呼び出しが完了するまでにかかった最小時間。

以来

  • 2.0.0



301
302
303
# ファイル 'lib/mongo/ サーバー/description.rb', 行 301

デフォルト minimum_round_drop_time
  @ minimum_round_drop_time
end

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

# == (その他) === (その他 ) ==================================================

2 つの説明が等価であることを確認します。

例:

説明の等価性を確認します。

description == other

パラメーター:

  • その他 オブジェクト

    その他の説明。

次の値を返します。

  • truefalse

    オブジェクトが等しいかどうか。

以来

  • 2.0.6



866
867
868
869
870
871
872
873
# ファイル 'lib/mongo/ サーバー/description.rb', 行 866

デフォルト ==(その他)
  return false 場合 自己.クラス != その他.クラス
  return false 場合 不明な場合 || その他.不明な場合

  (config.キー + その他.config.キー).一意.すべて? 行う |k|
    config[k] == その他.config[k] || EXCLUSTER_FOR_COMPARISON.include?(k)
  end
end

アービタ? = truefalse

SDAM 仕様に従って、このサーバーがアービタであるかどうかを返します。

例:

サーバーはアービタでありますか?

description.arbiter?

次の値を返します。

  • truefalse

    サーバーがアービタである場合。

以来

  • 2.0.0



311
312
313
314
315
# ファイル 'lib/mongo/ サーバー/description.rb', 行 311

デフォルト アービタ
  ok? & &
    config[' arbiterOnly '] == true & &
    !!config['setName']
end

アービタ<String> = アービタ = 配列=string =string======================

レプリカセット内のすべてのアービタの一覧を取得します。

例:

レプリカセット内のアービタを取得します。

description.arbiters

次の値を返します。

  • <String>配列未満

    セット内のアービタ。

以来

  • 2.0.0



325
326
327
# ファイル 'lib/mongo/ サーバー/description.rb', 行 325

デフォルト アービタ
  @arbiters ||= (config[アービタ] || []).map { |s| s.ダウンケース }
end

データ_保持? = truefalse

この説明がデータを保持するサーバー(スタンドアロン、mongos、プライマリまたはセカンダリ)からのものであるかどうか。

次の値を返します。

  • truefalse

    説明がデータを含むサーバーからのものであるかどうか。

以来

  • 2.7.0



788
789
790
# ファイル 'lib/mongo/ サーバー/description.rb', 行 788

デフォルト data_bearing?
  mongos? || プライマリ? || セカンダリか || スタンドアロン
end

# election_id ~ BSON::ObjectId

構成から electionId を取得します。

例:

electionId を取得します。

description.election_id

次の値を返します。

  • BSON::ObjectId

    選挙 ID。

以来

  • 2.1.0



473
474
475
# ファイル 'lib/mongo/ サーバー/description.rb', 行 473

デフォルト election_id
  config[ELECTION_ID]
end

#スコープ= truefalse

このサーバーがディストリビューションであるかどうかの指定。

例:

サーバーは存在しますか。

description.ghost?

次の値を返します。

  • truefalse

    サーバーが存在しない場合。

以来

  • 2.0.0



337
338
339
340
# ファイル 'lib/mongo/ サーバー/description.rb', 行 337

デフォルト ghost?
  ok? & &
    config['は レプリカセット'] == true
end

#非表示= truefalse

サーバーが非表示の場合は true を返します。

例:

サーバーは非表示になっていますか?

description.hidden?

次の値を返します。

  • truefalse

    サーバーが非表示の場合。

以来

  • 2.0.0



350
351
352
# ファイル 'lib/mongo/ サーバー/description.rb', 行 350

デフォルト hidden?
  ok? & & !!config[hidden]
end

ホスト 数 配列[string]<String>

レプリカセット内のすべてのサーバーの一覧を取得します。

例:

レプリカセット内のサーバーを取得します。

description.hosts

次の値を返します。

  • <String>配列未満

    セット内のサーバー。

以来

  • 2.0.0



362
363
364
# ファイル 'lib/mongo/ サーバー/description.rb', 行 362

デフォルト ホスト
  @hosts ||= (config[HOSTS] || []).map { |s| s.ダウンケース }
end

詳しくは、 を 検査しstring ます

サーバーの説明を調べます。

例:

サーバーの説明を調べます

description.inspect

次の値を返します。

  • ( string )

    検査。

以来

  • 2.0.0



374
375
376
# ファイル 'lib/mongo/ サーバー/description.rb', 行 374

デフォルト 検査する
  " #< Mongo::Server: Description: 0 x #{ object_id } config= #{ config } Average_round_trigger_time= _{ Average_round_trigger_time } > "
end

# is_server? (サーバー) = truefalse

非推奨。

指定されたサーバーからのこの説明です。

例:

説明が特定のサーバーからのものであるかどうかを確認します。

description.is_server?(server)

次の値を返します。

  • truefalse

    説明がサーバーからの場合。

以来

  • 2.0.6



750
751
752
# ファイル 'lib/mongo/ サーバー/description.rb', 行 750

デフォルト is_server?(サーバー)
  address == サーバー.address
end

# last_write_date =時間

構成内の lastWrite サブドキュメントから lastWriteDate を取得します。

例:

lastWriteDate 値を取得します。

description.last_write_date

次の値を返します。

  • 時間

    前回の書込み日。

以来

  • 2.4.0



538
539
540
# ファイル 'lib/mongo/ サーバー/description.rb', 行 538

デフォルト last_write_date
  config[LAST_WRITE][LAST_WRITE_DATE] 場合 config[LAST_WRITE]
end

# lists_server? (サーバー) = truefalse

非推奨。

この説明のサーバー リストに含まれるサーバーです。

例:

サーバーが説明サーバーの説明リストに含まれているかどうかを確認します。

description.lists_server?(server)

次の値を返します。

  • truefalse

    説明のサーバー リストにサーバーが含まれている場合。

以来

  • 2.0.6



764
765
766
# ファイル 'lib/mongo/ サーバー/description.rb', 行 764

デフォルト lists_server?(サーバー)
  サーバー.include?(サーバー.address.to_s)
end

負荷_バランサーは? = true | false

このサーバーがロード バランサーであるかどうかを返します。

次の値を返します。

  • true | false

    このサーバーがロード バランサーであるかどうか。

以来

  • 2.0.0



289
290
291
# ファイル 'lib/mongo/ サーバー/description.rb', 行 289

デフォルト load_ balancer?
  @load_ balancer
end

#logical_session_timeoutInteger?

構成から logicalSessionTimeoutMinutes を取得します。

例:

logicalSessionTimeoutMinutes 値を分単位で取得します。

description.logical_session_timeout

次の値を返します。

  • (Integer, nil)

    論理セッション タイムアウト(分単位)。

以来

  • 2.5.0



550
551
552
# ファイル 'lib/mongo/ サーバー/description.rb', 行 550

デフォルト logical_session_timeout
  config[Logical_SESSION_OUT_MINUTES] 場合 config[Logical_SESSION_OUT_MINUTES]
end

# max_bson_object_size =整数

このサーバー バージョンの最大 BSON オブジェクト サイズを取得します。

例:

最大 BSON オブジェクト サイズを取得します。

description.max_bson_object_size

次の値を返します。

  • (整数)

    バイト単位での最大オブジェクトサイズ。

以来

  • 2.0.0



386
387
388
# ファイル 'lib/mongo/ サーバー/description.rb', 行 386

デフォルト max_bson_object_size
  config[MAX_BSON_OBJECT_SIZE]
end

# max_message_size =整数

このサーバー バージョンの最大メッセージ サイズを取得します。

例:

最大メッセージ サイズを取得します。

description.max_message_size

次の値を返します。

  • (整数)

    バイト単位での最大メッセージサイズ。

以来

  • 2.0.0



398
399
400
# ファイル 'lib/mongo/ サーバー/description.rb', 行 398

デフォルト max_message_size
  config[MAX_MESSAGE_BYTES]
end

#max_wire_versionInteger

最大ワイヤバージョンを取得します。 デフォルトはゼロです。

例:

最大ワイヤバージョンを取得します。

description.max_wire_version

次の値を返します。

  • (整数)

    サポートされる最大ワイヤバージョン。

以来

  • 2.0.0



422
423
424
# ファイル 'lib/mongo/ サーバー/description.rb', 行 422

デフォルト max_wire_version
  config[MAX_WIRE_VERSION] || 0
end

# max_write_batch_size =整数

書込み (write) の最大バッチ サイズを取得します。

例:

最大バッチ サイズを取得します。

description.max_write_batch_size

次の値を返します。

  • (整数)

    最大バッチ サイズ。

以来

  • 2.0.0



410
411
412
# ファイル 'lib/mongo/ サーバー/description.rb', 行 410

デフォルト max_write_batch_size
  config[MAX_WRITE_バッチ_サイズ] || DEFAULT_MAX_WRITE_バッチ_サイズ
end

# me = string

注:

フィールドの値は、サーバー説明のアドレスと異なる場合があります。これは、分裂ホライズン構成では例、発生する可能性があります。SDAM 仕様では、状況の一部の状況(たとえば、問題のサーバーがRS ノードであるが、プライマリではない場合)で、meta がアドレスと一致しないサーバーを除く必要があります。

me フィールド値を取得する。

次の値を返します。

  • ( string )

    me フィールド。

以来

  • 2.1.0



449
450
451
# ファイル 'lib/mongo/ サーバー/description.rb', 行 449

デフォルト me
  config[ME]
end

#me_mismatch? = truefalse

ホストのアドレスとmeのフィールドが一致しているかどうかを確認します。

例:

一致しないかどうかを確認します。

description.me_mismatch?

次の値を返します。

  • truefalse

    メ フィールドとアドレス ホストの間に一致しない場合。

以来

  • 2.0.6



800
801
802
# ファイル 'lib/mongo/ サーバー/description.rb', 行 800

デフォルト me_mismatch?
  !!(address.to_s.ダウンケース != me.ダウンケース 場合 me)
end

# min_wire_version =整数

最小ワイヤバージョンを取得します。 デフォルトはゼロです。

例:

の最小ワイヤバージョンを取得します。

description.min_wire_version

次の値を返します。

  • (整数)

    サポートされる最小ワイヤバージョン。

以来

  • 2.0.0



434
435
436
# ファイル 'lib/mongo/ サーバー/description.rb', 行 434

デフォルト min_wire_version
  config[MIN_W機能] || 0
end

# mongocryptd は?= true 、false

この説明が mongocryptdサーバーからのものであるかどうか。

次の値を返します。

  • truefalse

    この説明が mongocryptdサーバーからのものであるかどうか。

以来

  • 2.0.0



808
809
810
# ファイル 'lib/mongo/ サーバー/description.rb', 行 808

デフォルト mongocryptd?
  ok? & & config['iscryptd'] == true
end

mongos の数= truefalse

SDAM 仕様に従って、このサーバーが mongos であるかどうかを返します。

例:

サーバーは mongos でありますか?

description.mongos?

次の値を返します。

  • truefalse

    サーバーが mongos の場合。

以来

  • 2.0.0



562
563
564
# ファイル 'lib/mongo/ サーバー/description.rb', 行 562

デフォルト mongos?
  ok? & & config['msg'] == 'isdbgrid'
end

#ok?Boolean

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

次の値を返します。

  • ブール値

以来

  • 2.0.0



725
726
727
# ファイル 'lib/mongo/ サーバー/description.rb', 行 725

デフォルト ok?
  config[操作::結果::OK] == 1
end

#op_timeBSON::Timestamp

hello 応答の lastWrite サブドキュメントのoptime 。

次の値を返します。

  • BSON::Timestamp

    タイムスタンプ。

以来

  • 2.7.0



817
818
819
820
821
# ファイル 'lib/mongo/ サーバー/description.rb', 行 817

デフォルト op_time
  return ただし、 config[' lastWrite '] & & config[' lastWrite '][' optime ']

  config[' lastWrite '][' optime ']['ts']
end

他の は= truefalse

SDAM 仕様ごとに、サーバーが他のサーバーであるかどうかを返します。

例:

その他のタイプの説明です。

description.other?

次の値を返します。

  • truefalse

    説明がその他の場合。

以来

  • 2.0.0



574
575
576
577
578
579
580
581
582
583
# ファイル 'lib/mongo/ サーバー/description.rb', 行 574

デフォルト その他の場合
  SDAM 仕様では「その他」とは何ですか。
  # ただし「RSその他」と呼ばれていますが、これは非 RS ノードを意味します
  # を「その他」にすることはできません。
  ok? & &
    !!config['setName'] & & (
    config['hidden'] == true ||
    (!プライマリ? & & !セカンダリか & & !アービタ)
  )
end

#パッシブ性 = truefalse

サーバーがアクティブな場合は true を返します。

例:

サーバーはアクティブですが、

description.passive?

次の値を返します。

  • truefalse

    サーバーがアクティブな場合。

以来

  • 2.0.0



593
594
595
# ファイル 'lib/mongo/ サーバー/description.rb', 行 593

デフォルト パッシブ性
  ok? & & !!config[PASSIVE]
end

パッシブプロセスを使用したセカンダリ データベース内の 配列<String>

クラスター内のアクティブ サーバーの一覧を取得します。

例:

パッシブ性を取得します。

description.passives

次の値を返します。

  • <String>配列未満

    パッシブメンバーのリスト。

以来

  • 2.0.0



605
606
607
# ファイル 'lib/mongo/ サーバー/description.rb', 行 605

デフォルト パッシブ性
  @passives ||= (config[パスワード] || []).map { |s| s.ダウンケース }
end

プライマリ は を使用しますか。 = truefalse

SDAM 仕様に従って、このサーバーが プライマリ であるかどうかを返します。

例:

サーバーはプライマリか?

description.primary?

次の値を返します。

  • truefalse

    サーバーがプライマリの場合。

以来

  • 2.0.0



629
630
631
632
633
# ファイル 'lib/mongo/ サーバー/description.rb', 行 629

デフォルト プライマリ?
  ok? & &
    (config[は マスター です] == true || config[' isWritablePrimary '] == true) & &
    !!config['setName']
end

# Primary_host == string= string =========================================================================================== nil

プライマリ ホストのアドレスを取得します。

例:

プライマリのアドレスを取得します。

description.primary_host

次の値を返します。

  • ( string | nil )

    プライマリのアドレス。

以来

  • 2.6.0



617
618
619
# ファイル 'lib/mongo/ サーバー/description.rb', 行 617

デフォルト プライマリ_ホスト
  config[Primary_HOST] & & config[Primary_HOST].ダウンケース
end

レプリカ_セット_ノード= truefalse

この説明はレプリカセット メンバーに対応しますか。

例:

説明がレプリカセット メンバーからのものであるかどうかを確認します。

description.replica_set_member?

次の値を返します。

  • truefalse

    説明がレプリカセット メンバーからのものである場合。

以来

  • 2.0.6



777
778
779
# ファイル 'lib/mongo/ サーバー/description.rb', 行 777

デフォルト レプリカ_セット_ノード
  ok? & & !(スタンドアロン || mongos?)
end

# replica_set_name = string ?

サーバーが属するレプリカセットの名前を取得し、ない場合は nil を返します。

例:

レプリカセット名を取得します。

description.replica_set_name

次の値を返します。

  • ( string , nil )

    レプリカセットの名前です。

以来

  • 2.0.0



644
645
646
# ファイル 'lib/mongo/ サーバー/description.rb', 行 644

デフォルト replica_set_name
  config[set_name]
end

#セカンダリ? = truefalse

SDAM 仕様に従って、このサーバーが セカンダリ であるかどうかを返します。

例:

サーバーはセカンダリかどうか

description.secondary?

次の値を返します。

  • truefalse

    サーバーがセカンダリの場合。

以来

  • 2.0.0



668
669
670
671
672
# ファイル 'lib/mongo/ サーバー/description.rb', 行 668

デフォルト セカンダリか
  ok? & &
    config['セカンダリ'] == true & &
    !!config['setName']
end

# server_ connection_id =オブジェクト

以来

  • 2.0.0



845
846
847
# ファイル 'lib/mongo/ サーバー/description.rb', 行 845

デフォルト server_ connection_id
  config[' connectionId ']
end

#server_typeSymbol

サーバーの種類をシンボルとして返します。

例:

サーバーの種類を取得します。

description.server_type

次の値を返します。

以来

  • 2.4.0



682
683
684
685
686
687
688
689
690
691
692
693
# ファイル 'lib/mongo/ サーバー/description.rb', 行 682

デフォルト server_type
  return :load_ balancer 場合 load_ balancer?
  return :arbiter 場合 アービタ
  return :ghost 場合 ghost?
  return :sharded 場合 mongos?
  return : プライマリ 場合 プライマリ?
  return :secondary 場合 セカンダリか
  return :スタンドアロン 場合 スタンドアロン
  return :その他 場合 その他の場合

  :不明
end

#server_version_gte?(version) ⇒ Boolean

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

次の値を返します。

  • ブール値

次の値が発生します。

  • (NotImplementedError)

以来

  • 2.0.0



890
891
892
893
894
895
896
897
898
899
900
901
902
903
# ファイル 'lib/mongo/ サーバー/description.rb', 行 890

デフォルト server_version_gte?(バージョン)
  場合 load_ balancer?
    # ロードバランサーの場合、モニタリングはありません
    は、ロード バランサーの背後にあるサーバーを認識しません。
    # すべてがサポートされている と想定します。
    Ruby- 2220が実装されている場合は、これを削除します。
    return true
  end

  requested_wv = SERVER_VERSION_WIRE_VERSION_MAP[バージョン]
  発生 NotImplementedError, " 予期しないサーバーバージョン #{ version. analyze } " ただし、 requested_wv

  requested_wv <= max_wire_version
end

サーバー<String> [] = 配列[string]

クラスターが認識しているすべてのサーバーのリストを取得します。

例:

すべてのサーバーを取得します。

description.servers

次の値を返します。

  • <String>配列未満

    すべてのサーバーのリスト。

以来

  • 2.0.0



656
657
658
# ファイル 'lib/mongo/ サーバー/description.rb', 行 656

デフォルト サーバー
  ホスト + アービタ + パッシブ性
end

# service_id = nil |オブジェクト

サービス ID(存在する場合)を返します。

次の値を返します。

  • ( nil | Object )

    サービス ID(存在する場合)。

以来

  • 2.0.0



852
853
854
# ファイル 'lib/mongo/ サーバー/description.rb', 行 852

デフォルト service_id
  config[' serviceId ']
end

#set_versionInteger

コンフィギュレーションから setVersion を取得します。

例:

setVersion を取得します。

description.set_version

次の値を返します。

  • (整数)

    セットのバージョン。

以来

  • 2.2.2



485
486
487
# ファイル 'lib/mongo/ サーバー/description.rb', 行 485

デフォルト set_version
  config[Set_VERSION]
end

#スタンドアロン = truefalse

SDAM 仕様に従って、このサーバーがスタンドアロンであるかどうかを返します。

例:

サーバーはスタンドアロンか?

description.standalone?

次の値を返します。

  • truefalse

    サーバーがスタンドアロンの場合。

以来

  • 2.0.0



703
704
705
706
707
708
# ファイル 'lib/mongo/ サーバー/description.rb', 行 703

デフォルト スタンドアロン
  ok? & &
    config['msg'] != 'isdbgrid' & &
    config['setName'].nil? & &
    config['は レプリカセット'] != true
end

タグ=ハッシュ = ハッシュ

サーバー用に構成されたタグを取得します。

例:

タグを取得します。

description.tags

次の値を返します。

  • ハッシュ

    サーバーのタグ。

以来

  • 2.0.0



461
462
463
# ファイル 'lib/mongo/ サーバー/description.rb', 行 461

デフォルト tags
  config[tags] || {}
end

#topology_versionTopologyVersion | nil

トポロジー バージョンを返します。

次の値を返します。

以来

  • 2.0.0



490
491
492
493
494
495
496
# ファイル 'lib/mongo/ サーバー/description.rb', 行 490

デフォルト topic
  ただし、 定義済み?(@topology_version)
    @topology_version = config['topologyVersion'] & &
                        TopologyVersion.新着情報(config['topologyVersion'])
  end
  @topology_version
end

トポロジー_バージョン_gt? ( Other_desc) = true | false

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

この説明のトポロジー バージョンが、別の説明のトポロジー バージョンよりも後の可能性があるかどうかを返します。

パラメーター:

次の値を返します。

  • true | false

    この説明のトポロジー バージョンは、潜在的に新しいかどうか。

以来

  • 2.0.0



506
507
508
509
510
511
512
# ファイル 'lib/mongo/ サーバー/description.rb', 行 506

デフォルト topology_version_gt?(Other_desc)
  場合 topic.nil? || Other_desc.topic.nil?
    true
  else
    topic.gt?(Other_desc.topic)
  end
end

トポロジー_バージョン_gte? ( Other_desc) = true | false

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

この説明のトポロジー バージョンが、別の説明のトポロジー バージョンよりも新しい可能性があるかどうかを返します。

パラメーター:

次の値を返します。

  • true | false

    この説明のトポロジー バージョンは、潜在的に新しいかどうか。

以来

  • 2.0.0



522
523
524
525
526
527
528
# ファイル 'lib/mongo/ サーバー/description.rb', 行 522

デフォルト topology_version_gte?(Other_desc)
  場合 topic.nil? || Other_desc.topic.nil?
    true
  else
    topic.gte?(Other_desc.topic)
  end
end

が不明な場合 = truefalse

SDAM 仕様に従って、このサーバーが不明であるかどうかを返します。

例:

サーバーの説明が不明ですか。

description.unknown?

次の値を返します。

  • truefalse

    サーバーの説明が不明な場合。

以来

  • 2.0.0



718
719
720
721
722
# ファイル 'lib/mongo/ サーバー/description.rb', 行 718

デフォルト 不明な場合
  return false 場合 load_ balancer?

  config.空の場合 || config.キー == %w[topologyVersion] || !ok?
end

# wire_versions =範囲

サーバーでサポートされているワイヤ バージョンの範囲を取得します。

例:

ワイヤのバージョン範囲を取得します。

description.wire_versions

次の値を返します。

  • 範囲

    ワイヤのバージョン範囲。

以来

  • 2.0.0



737
738
739
# ファイル 'lib/mongo/ サーバー/description.rb', 行 737

デフォルト wire_versions
  min_wire_version..max_wire_version
end