クラス: 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'
IS_WRITABLE_PRIMARY =

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

構成からモダン プライマリ フラグを読み取るための定数。

以来

  • 2.0.0

'isWritablePrimary'
HELLO_OK =

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

config から helloOk 機能フラグを読み取り用の定数。

以来

  • 2.0.0

'helloOk'
EXCLUSTER_FOR_COMPARISON =

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

プライマリ (レガシー ismaster)、IS_WRITABLE_プライマリ (モダン hello)、および HELLO_OK キーは除外されます。これは、ドライバーが初期ハンドシェイク時に、レガシー isMaster からモダン hello プロトコルへのワンタイムの切り替えを行うためです(SDAM サーバー モニタリング仕様に基づく)。同じ論理ロールに対する 2 つの応答は、これらのキーのどれが入力されるかによってのみ異なります。ロール自体は、セカンダリ フラグと残りのレプリカセット メタデータによって区別されます。

以来

  • 2.0.6

[ LOCAL_TIME,
LAST_WRITE,
OPERATION_TIME,
操作::CLUSTER_TIME,
CONNECTION_ID,
プライマリ,
IS_WRITABLE_PRIMARY,
HELLO_OK, ].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



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
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
# ファイル 'lib/mongo/ サーバー/description.rb', 行 237

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



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

デフォルト address
  @address
end

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

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

次の値を返します。

  • 浮動小数

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

以来

  • 2.0.0



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

デフォルト Average_round_drop_time
  @average_round_drop_time
end

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

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

次の値を返します。

  • ハッシュ

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

以来

  • 2.0.0



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

デフォルト config
  @config
end

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

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

次の値を返します。

  • 機能

    feature サーバーの機能。

以来

  • 2.0.0



315
316
317
# ファイル 'lib/mongo/ サーバー/description.rb', 行 315

デフォルト 機能
  @feature
end

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

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

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

次の値を返します。

  • 浮動小数

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

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

  • 詳細については、

以来

  • 2.0.0



863
864
865
# ファイル 'lib/mongo/ サーバー/description.rb', 行 863

デフォルト last_update_monotime
  @last_update_monotime
end

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

注:

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

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

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

次の値を返します。

  • 時間

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

以来

  • 2.7.0



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

デフォルト last_update_time
  @last_update_time
end

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

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

次の値を返します。

  • 浮動小数

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

以来

  • 2.0.0



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

デフォルト minimum_round_drop_time
  @ minimum_round_drop_time
end

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

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

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

例:

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

description == other

パラメーター:

  • その他 オブジェクト

    その他の説明。

次の値を返します。

  • truefalse

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

以来

  • 2.0.6



887
888
889
890
891
892
893
894
895
# ファイル 'lib/mongo/ サーバー/description.rb', 行 887

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

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

アービタ? = truefalse

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

例:

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

description.arbiter?

次の値を返します。

  • truefalse

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

以来

  • 2.0.0



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

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

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

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

例:

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

description.arbiters

次の値を返します。

  • <String>配列未満

    セット内のアービタ。

以来

  • 2.0.0



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

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

データ_保持? = truefalse

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

次の値を返します。

  • truefalse

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

以来

  • 2.7.0



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

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

# election_id ~ BSON::ObjectId

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

例:

electionId を取得します。

description.election_id

次の値を返します。

  • BSON::ObjectId

    選挙 ID。

以来

  • 2.1.0



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

デフォルト election_id
  config[ELECTION_ID]
end

#スコープ= truefalse

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

例:

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

description.ghost?

次の値を返します。

  • truefalse

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

以来

  • 2.0.0



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

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

#非表示= truefalse

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

例:

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

description.hidden?

次の値を返します。

  • truefalse

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

以来

  • 2.0.0



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

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

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

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

例:

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

description.hosts

次の値を返します。

  • <String>配列未満

    セット内のサーバー。

以来

  • 2.0.0



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

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

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

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

例:

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

description.inspect

次の値を返します。

  • ( string )

    検査。

以来

  • 2.0.0



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

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



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

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

# last_write_date =時間

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

例:

lastWriteDate 値を取得します。

description.last_write_date

次の値を返します。

  • 時間

    前回の書込み日。

以来

  • 2.4.0



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

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

# lists_server? (サーバー) = truefalse

非推奨。

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

例:

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

description.lists_server?(server)

次の値を返します。

  • truefalse

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

以来

  • 2.0.6



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

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

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

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

次の値を返します。

  • true | false

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

以来

  • 2.0.0



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

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

#logical_session_timeoutInteger?

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

例:

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

description.logical_session_timeout

次の値を返します。

  • (Integer, nil)

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

以来

  • 2.5.0



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

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



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

デフォルト max_bson_object_size
  config[MAX_BSON_OBJECT_SIZE]
end

# max_message_size =整数

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

例:

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

description.max_message_size

次の値を返します。

  • (整数)

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

以来

  • 2.0.0



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

デフォルト max_message_size
  config[MAX_MESSAGE_BYTES]
end

#max_wire_versionInteger

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

例:

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

description.max_wire_version

次の値を返します。

  • (整数)

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

以来

  • 2.0.0



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

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

# max_write_batch_size =整数

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

例:

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

description.max_write_batch_size

次の値を返します。

  • (整数)

    最大バッチ サイズ。

以来

  • 2.0.0



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

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

# me = string

注:

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

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

次の値を返します。

  • ( string )

    me フィールド。

以来

  • 2.1.0



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

デフォルト me
  config[ME]
end

#me_mismatch? = truefalse

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

例:

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

description.me_mismatch?

次の値を返します。

  • truefalse

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

以来

  • 2.0.6



821
822
823
# ファイル 'lib/mongo/ サーバー/description.rb', 行 821

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

# min_wire_version =整数

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

例:

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

description.min_wire_version

次の値を返します。

  • (整数)

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

以来

  • 2.0.0



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

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

# mongocryptd は?= true 、false

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

次の値を返します。

  • truefalse

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

以来

  • 2.0.0



829
830
831
# ファイル 'lib/mongo/ サーバー/description.rb', 行 829

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

mongos の数= truefalse

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

例:

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

description.mongos?

次の値を返します。

  • truefalse

    サーバーが mongos の場合。

以来

  • 2.0.0



583
584
585
# ファイル 'lib/mongo/ サーバー/description.rb', 行 583

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

#ok?Boolean

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

次の値を返します。

  • ブール値

以来

  • 2.0.0



746
747
748
# ファイル 'lib/mongo/ サーバー/description.rb', 行 746

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

#op_timeBSON::Timestamp

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

次の値を返します。

  • BSON::Timestamp

    タイムスタンプ。

以来

  • 2.7.0



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

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

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

他の は= truefalse

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

例:

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

description.other?

次の値を返します。

  • truefalse

    説明がその他の場合。

以来

  • 2.0.0



595
596
597
598
599
600
601
602
603
604
# ファイル 'lib/mongo/ サーバー/description.rb', 行 595

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

#パッシブ性 = truefalse

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

例:

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

description.passive?

次の値を返します。

  • truefalse

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

以来

  • 2.0.0



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

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

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

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

例:

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

description.passives

次の値を返します。

  • <String>配列未満

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

以来

  • 2.0.0



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

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

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

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

例:

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

description.primary?

次の値を返します。

  • truefalse

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

以来

  • 2.0.0



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

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

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

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

例:

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

description.primary_host

次の値を返します。

  • ( string | nil )

    プライマリのアドレス。

以来

  • 2.6.0



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

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

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

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

例:

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

description.replica_set_member?

次の値を返します。

  • truefalse

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

以来

  • 2.0.6



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

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

# replica_set_name = string ?

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

例:

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

description.replica_set_name

次の値を返します。

  • ( string , nil )

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

以来

  • 2.0.0



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

デフォルト replica_set_name
  config[set_name]
end

#セカンダリ? = truefalse

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

例:

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

description.secondary?

次の値を返します。

  • truefalse

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

以来

  • 2.0.0



689
690
691
692
693
# ファイル 'lib/mongo/ サーバー/description.rb', 行 689

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

# server_ connection_id =オブジェクト

以来

  • 2.0.0



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

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

#server_typeSymbol

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

例:

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

description.server_type

次の値を返します。

以来

  • 2.4.0



703
704
705
706
707
708
709
710
711
712
713
714
# ファイル 'lib/mongo/ サーバー/description.rb', 行 703

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



912
913
914
915
916
917
918
919
920
921
922
923
924
925
# ファイル 'lib/mongo/ サーバー/description.rb', 行 912

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



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

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

# service_id = nil |オブジェクト

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

次の値を返します。

  • ( nil | Object )

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

以来

  • 2.0.0



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

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

#set_versionInteger

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

例:

setVersion を取得します。

description.set_version

次の値を返します。

  • (整数)

    セットのバージョン。

以来

  • 2.2.2



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

デフォルト set_version
  config[Set_VERSION]
end

#スタンドアロン = truefalse

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

例:

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

description.standalone?

次の値を返します。

  • truefalse

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

以来

  • 2.0.0



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

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

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

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

例:

タグを取得します。

description.tags

次の値を返します。

  • ハッシュ

    サーバーのタグ。

以来

  • 2.0.0



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

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

#topology_versionTopologyVersion | nil

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

次の値を返します。

以来

  • 2.0.0



511
512
513
514
515
516
517
# ファイル 'lib/mongo/ サーバー/description.rb', 行 511

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



527
528
529
530
531
532
533
# ファイル 'lib/mongo/ サーバー/description.rb', 行 527

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



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

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



739
740
741
742
743
# ファイル 'lib/mongo/ サーバー/description.rb', 行 739

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

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

# wire_versions =範囲

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

例:

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

description.wire_versions

次の値を返します。

  • 範囲

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

以来

  • 2.0.0



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

デフォルト wire_versions
  min_wire_version..max_wire_version
end