クラス: 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 であってはなりません。 ドライバーの動作が変更された場合( JIRA.mongodb.org/brew/Ruby- 1805 )、 これは不要になる場合があります。

以来

  • 2.0.0

名前空間で定義済み

クラス: 機能LoadBalancer

定数の概要の削減

アービタ =
非推奨。

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

以来

  • 2.0.0

' arbiterOnly '.freeze
アービタ =

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

以来

  • 2.0.0

'アービタ'.freeze
非表示 =

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

以来

  • 2.0.0

'hidden'.freeze
HOSTS =

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

以来

  • 2.0.0

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

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

以来

  • 2.0.0

'msg'.freeze
MONGOS_MESSAGE =
非推奨。

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

以来

  • 2.0.0

'isdbgrid'.freeze
REPLICASET =
非推奨。

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

以来

  • 2.0.0

'は レプリカセット'.freeze
MAX_BSON_OBJECT_SIZE =

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

以来

  • 2.0.0

'maxBsonObjectSize'.freeze
MAX_MESSAGE_BYTES =

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

以来

  • 2.0.0

'maxMessageSizeBytes'.freeze
MAX_WIRE_VERSION =

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

以来

  • 2.0.0

' maxWireVersion '.freeze
MIN_WIRE_VERSION =

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

以来

  • 2.0.0

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

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

以来

  • 2.0.0

' maxWriteBatchSize '.freeze
LAST_WRITE =

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

以来

  • 2.4.0

' lastWrite '.freeze
LAST_WRITE_DATE =

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

以来

  • 2.4.0

' lastWriteDate '.freeze
ME =

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

以来

  • 2.1.0

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

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

以来

  • 2.0.0

1000.freeze
Legacy_WIRE_VERSION =
非推奨。

3.0で削除されます。

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

以来

  • 2.0.0

0.freeze
PASSIVE =

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

以来

  • 2.0.0

'パッシブな'.freeze
パスワード =

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

以来

  • 2.0.0

' は '.freeze
プライマリ =
非推奨。

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

以来

  • 2.0.0

は マスター です.freeze
Primary_HOST =

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

以来

  • 2.5.0

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

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

以来

  • 2.0.0

'セカンダリ'.freeze
set_name =

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

以来

  • 2.0.0

'setName'.freeze
タグ =

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

以来

  • 2.0.0

'tags'.freeze
ELECTION_ID =

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

以来

  • 2.1.0

' electionId '.freeze
Set_VERSION =

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

以来

  • 2.2.2

'setVersion'.freeze
LOCAL_TIME =

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

以来

  • 2.1.0

' localTime '.freeze
OPERATION_TIME =

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

以来

  • 2.5.0

' operationTime '.freeze
Logical_SESSION_TIME_MINUTES =

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

以来

  • 2.5.0

' logicalSessionTimeoutMinutes '.freeze
CONNECTION_ID =

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

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

以来

  • 2.0.0

' connectionId '.freeze
EXCLUSTER_FOR_COMPARISON =

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

以来

  • 2.0.6

[ LOCAL_TIME,
  LAST_WRITE,
  OPERATION_TIME,
  操作::CLUSTER_TIME,
  CONNECTION_ID,
].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

[ソースを表示]

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
279
280
281
282
283
284
# ファイル 'lib/mongo/ サーバー/description.rb', 行 220

デフォルト 初期化(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

  場合 load_ balancer
    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が完了したら、これを削除します。
    場合 ok? & & !service_id
      ただし、 force_load_Balancer
        発生 エラー::MissingServiceId, 「 #{ アドレス . シード } のサーバー はハンドシェイク応答でサービス ID を提供しませんでした 」
      end

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

  場合 mongo::Lint.有効か
    # キャッシュ インスタンス変数を事前入力する
    ホスト
    アービタ
    パッシブ性
    topic

    freeze
  end
end

インスタンス属性の詳細

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

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

次の値を返します。

  • アドレス

    address サーバーのアドレス。

以来

  • 2.0.0


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

デフォルト address
  @address
end

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

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

次の値を返します。

  • 浮動小数

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

以来

  • 2.0.0


305
306
307
# ファイル 'lib/mongo/ サーバー/description.rb', 行 305

デフォルト Average_round_drop_time
  @average_round_drop_time
end

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

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

次の値を返します。

  • ハッシュ

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

以来

  • 2.0.0


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

デフォルト config
  @config
end

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

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

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

次の値を返します。

  • 浮動小数

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

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

  • 詳細については、

以来

  • 2.0.0


848
849
850
# ファイル 'lib/mongo/ サーバー/description.rb', 行 848

デフォルト last_update_monotime
  @last_update_monotime
end

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

注:

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

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

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

次の値を返します。

  • 時間

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

以来

  • 2.7.0


839
840
841
# ファイル 'lib/mongo/ サーバー/description.rb', 行 839

デフォルト last_update_time
  @last_update_time
end

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

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

次の値を返します。

  • 浮動小数

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

以来

  • 2.0.0


309
310
311
# ファイル 'lib/mongo/ サーバー/description.rb', 行 309

デフォルト minimum_round_drop_time
  @ minimum_round_drop_time
end

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

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

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

例:

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

description == other

パラメーター:

  • その他 オブジェクト

    その他の説明。

次の値を返します。

  • truefalse

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

以来

  • 2.0.6

[ソースを表示]

872
873
874
875
876
877
878
879
# ファイル 'lib/mongo/ サーバー/description.rb', 行 872

デフォルト ==(その他)
  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

[ソースを表示]

319
320
321
322
323
# ファイル 'lib/mongo/ サーバー/description.rb', 行 319

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

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

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

例:

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

description.arbiters

次の値を返します。

  • <String>配列未満

    セット内のアービタ。

以来

  • 2.0.0

[ソースを表示]

333
334
335
# ファイル 'lib/mongo/ サーバー/description.rb', 行 333

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

データ_保持? = truefalse

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

次の値を返します。

  • truefalse

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

以来

  • 2.7.0

[ソースを表示]

794
795
796
# ファイル 'lib/mongo/ サーバー/description.rb', 行 794

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

# election_id ~ BSON::ObjectId

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

例:

electionId を取得します。

description.election_id

次の値を返します。

  • BSON::ObjectId

    選挙 ID。

以来

  • 2.1.0

[ソースを表示]

481
482
483
# ファイル 'lib/mongo/ サーバー/description.rb', 行 481

デフォルト election_id
  config[ELECTION_ID]
end

#機能=機能

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

次の値を返します。

  • 機能

    feature サーバーの機能。

以来

  • 2.0.0

[ソースを表示]

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

デフォルト 機能
  @feature
end

#スコープ= truefalse

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

例:

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

description.ghost?

次の値を返します。

  • truefalse

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

以来

  • 2.0.0

[ソースを表示]

345
346
347
348
# ファイル 'lib/mongo/ サーバー/description.rb', 行 345

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

#非表示= truefalse

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

例:

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

description.hidden?

次の値を返します。

  • truefalse

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

以来

  • 2.0.0

[ソースを表示]

358
359
360
# ファイル 'lib/mongo/ サーバー/description.rb', 行 358

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

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

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

例:

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

description.hosts

次の値を返します。

  • <String>配列未満

    セット内のサーバー。

以来

  • 2.0.0

[ソースを表示]

370
371
372
# ファイル 'lib/mongo/ サーバー/description.rb', 行 370

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

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

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

例:

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

description.inspect

次の値を返します。

  • ( string )

    検査。

以来

  • 2.0.0

[ソースを表示]

382
383
384
# ファイル 'lib/mongo/ サーバー/description.rb', 行 382

デフォルト 検査する
  " #< 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

[ソースを表示]

756
757
758
# ファイル 'lib/mongo/ サーバー/description.rb', 行 756

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

# last_write_date =時間

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

例:

lastWriteDate 値を取得します。

description.last_write_date

次の値を返します。

  • 時間

    前回の書込み日。

以来

  • 2.4.0

[ソースを表示]

546
547
548
# ファイル 'lib/mongo/ サーバー/description.rb', 行 546

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

# lists_server? (サーバー) = truefalse

非推奨。

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

例:

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

description.lists_server?(server)

次の値を返します。

  • truefalse

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

以来

  • 2.0.6

[ソースを表示]

770
771
772
# ファイル 'lib/mongo/ サーバー/description.rb', 行 770

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

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

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

次の値を返します。

  • true | false

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

以来

  • 2.0.0

[ソースを表示]

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

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

#logical_session_timeoutInteger?

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

例:

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

description.logical_session_timeout

次の値を返します。

  • (Integer, nil)

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

以来

  • 2.5.0

[ソースを表示]

558
559
560
# ファイル 'lib/mongo/ サーバー/description.rb', 行 558

デフォルト 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

[ソースを表示]

394
395
396
# ファイル 'lib/mongo/ サーバー/description.rb', 行 394

デフォルト max_bson_object_size
  config[MAX_BSON_OBJECT_SIZE]
end

# max_message_size =整数

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

例:

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

description.max_message_size

次の値を返します。

  • (整数)

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

以来

  • 2.0.0

[ソースを表示]

406
407
408
# ファイル 'lib/mongo/ サーバー/description.rb', 行 406

デフォルト max_message_size
  config[MAX_MESSAGE_BYTES]
end

#max_wire_versionInteger

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

例:

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

description.max_wire_version

次の値を返します。

  • (整数)

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

以来

  • 2.0.0

[ソースを表示]

430
431
432
# ファイル 'lib/mongo/ サーバー/description.rb', 行 430

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

# max_write_batch_size =整数

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

例:

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

description.max_write_batch_size

次の値を返します。

  • (整数)

    最大バッチ サイズ。

以来

  • 2.0.0

[ソースを表示]

418
419
420
# ファイル 'lib/mongo/ サーバー/description.rb', 行 418

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

# me = string

注:

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

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

次の値を返します。

  • ( string )

    me フィールド。

以来

  • 2.1.0

[ソースを表示]

457
458
459
# ファイル 'lib/mongo/ サーバー/description.rb', 行 457

デフォルト me
  config[ME]
end

#me_mismatch? = truefalse

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

例:

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

description.me_mismatch?

次の値を返します。

  • truefalse

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

以来

  • 2.0.6

[ソースを表示]

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

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

# min_wire_version =整数

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

例:

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

description.min_wire_version

次の値を返します。

  • (整数)

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

以来

  • 2.0.0

[ソースを表示]

442
443
444
# ファイル 'lib/mongo/ サーバー/description.rb', 行 442

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

# mongocryptd は?= true 、false

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

次の値を返します。

  • truefalse

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

以来

  • 2.0.0

[ソースを表示]

814
815
816
# ファイル 'lib/mongo/ サーバー/description.rb', 行 814

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

mongos の数= truefalse

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

例:

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

description.mongos?

次の値を返します。

  • truefalse

    サーバーが mongos の場合。

以来

  • 2.0.0

[ソースを表示]

570
571
572
# ファイル 'lib/mongo/ サーバー/description.rb', 行 570

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

#ok?Boolean

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

次の値を返します。

  • ブール値

以来

  • 2.0.0

[ソースを表示]

731
732
733
# ファイル 'lib/mongo/ サーバー/description.rb', 行 731

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

#op_timeBSON::Timestamp

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

次の値を返します。

  • BSON::Timestamp

    タイムスタンプ。

以来

  • 2.7.0

[ソースを表示]

823
824
825
826
827
# ファイル 'lib/mongo/ サーバー/description.rb', 行 823

デフォルト op_time
  場合 config[' lastWrite '] & & config[' lastWrite '][' optime ']
    config[' lastWrite '][' optime ']['ts']
  end
end

他の は= truefalse

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

例:

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

description.other?

次の値を返します。

  • truefalse

    説明がその他の場合。

以来

  • 2.0.0

[ソースを表示]

582
583
584
585
586
587
588
589
590
591
# ファイル 'lib/mongo/ サーバー/description.rb', 行 582

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

#パッシブ性 = truefalse

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

例:

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

description.passive?

次の値を返します。

  • truefalse

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

以来

  • 2.0.0

[ソースを表示]

601
602
603
# ファイル 'lib/mongo/ サーバー/description.rb', 行 601

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

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

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

例:

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

description.passives

次の値を返します。

  • <String>配列未満

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

以来

  • 2.0.0

[ソースを表示]

613
614
615
# ファイル 'lib/mongo/ サーバー/description.rb', 行 613

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

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

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

例:

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

description.primary?

次の値を返します。

  • truefalse

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

以来

  • 2.0.0

[ソースを表示]

637
638
639
640
641
# ファイル 'lib/mongo/ サーバー/description.rb', 行 637

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

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

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

例:

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

description.primary_host

次の値を返します。

  • ( string | nil )

    プライマリのアドレス。

以来

  • 2.6.0

[ソースを表示]

625
626
627
# ファイル 'lib/mongo/ サーバー/description.rb', 行 625

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

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

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

例:

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

description.replica_set_member?

次の値を返します。

  • truefalse

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

以来

  • 2.0.6

[ソースを表示]

783
784
785
# ファイル 'lib/mongo/ サーバー/description.rb', 行 783

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

# replica_set_name = string ?

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

例:

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

description.replica_set_name

次の値を返します。

  • ( string , nil )

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

以来

  • 2.0.0

[ソースを表示]

652
653
654
# ファイル 'lib/mongo/ サーバー/description.rb', 行 652

デフォルト replica_set_name
  config[set_name]
end

#セカンダリ? = truefalse

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

例:

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

description.secondary?

次の値を返します。

  • truefalse

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

以来

  • 2.0.0

[ソースを表示]

676
677
678
679
680
# ファイル 'lib/mongo/ サーバー/description.rb', 行 676

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

# server_ connection_id =オブジェクト

以来

  • 2.0.0

[ソースを表示]

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

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

#server_typeSymbol

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

例:

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

description.server_type

次の値を返します。

以来

  • 2.4.0

[ソースを表示]

690
691
692
693
694
695
696
697
698
699
700
# ファイル 'lib/mongo/ サーバー/description.rb', 行 690

デフォルト 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 の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

次の値を返します。

  • ブール値

以来

  • 2.0.0

[ソースを表示]

883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
# ファイル 'lib/mongo/ サーバー/description.rb', 行 883

デフォルト server_version_gte?(バージョン)
  requested_wv = ケース バージョン
    次の場合: '7.0'
      21
    次の場合: '6.0'
      17
    次の場合: '5.2'
      15
    次の場合: '5.1'
      14
    次の場合: '5.0'
      12
    次の場合: '4.4'
      9
    次の場合: '4.2'
      8
    次の場合: '4.0'
      7
    次の場合: '3.6'
      6
    次の場合: '3.4'
      5
    次の場合: '3.2'
      4
    次の場合: '3.0'
      3
    次の場合: '2.6'
      2
    else
      発生 ArgumentError, " Bogs 必要バージョン#{ version } "
    end

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

  requested_wv >= min_wire_version & & requested_wv <= max_wire_version
end

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

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

例:

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

description.servers

次の値を返します。

  • <String>配列未満

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

以来

  • 2.0.0

[ソースを表示]

664
665
666
# ファイル 'lib/mongo/ サーバー/description.rb', 行 664

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

# service_id = nil |オブジェクト

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

次の値を返します。

  • ( nil | Object )

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

以来

  • 2.0.0

[ソースを表示]

858
859
860
# ファイル 'lib/mongo/ サーバー/description.rb', 行 858

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

#set_versionInteger

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

例:

setVersion を取得します。

description.set_version

次の値を返します。

  • (整数)

    セットのバージョン。

以来

  • 2.2.2

[ソースを表示]

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

デフォルト set_version
  config[Set_VERSION]
end

#スタンドアロン = truefalse

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

例:

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

description.standalone?

次の値を返します。

  • truefalse

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

以来

  • 2.0.0

[ソースを表示]

710
711
712
713
714
715
# ファイル 'lib/mongo/ サーバー/description.rb', 行 710

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

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

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

例:

タグを取得します。

description.tags

次の値を返します。

  • ハッシュ

    サーバーのタグ。

以来

  • 2.0.0

[ソースを表示]

469
470
471
# ファイル 'lib/mongo/ サーバー/description.rb', 行 469

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

#topology_versionTopologyVersion | nil

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

次の値を返します。

以来

  • 2.0.0

[ソースを表示]

498
499
500
501
502
503
504
# ファイル 'lib/mongo/ サーバー/description.rb', 行 498

デフォルト 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

[ソースを表示]

514
515
516
517
518
519
520
# ファイル 'lib/mongo/ サーバー/description.rb', 行 514

デフォルト 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

[ソースを表示]

530
531
532
533
534
535
536
# ファイル 'lib/mongo/ サーバー/description.rb', 行 530

デフォルト 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

[ソースを表示]

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

デフォルト 不明な場合
  return false 場合 load_ balancer?
  config.空の場合 || config.キー == %w(topologyVersion) || !ok?
end

# wire_versions =範囲

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

例:

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

description.wire_versions

次の値を返します。

  • 範囲

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

以来

  • 2.0.0

[ソースを表示]

743
744
745
# ファイル 'lib/mongo/ サーバー/description.rb', 行 743

デフォルト wire_versions
  min_wire_version..max_wire_version
end