Hello
定義
hello
バージョン 5.0 で追加
hello
は、mongod
インスタンスのロールを説明するドキュメントを返します。 任意フィールドsaslSupportedMechs
が指定されている場合、コマンドは指定されたユーザーの認証情報の作成に使用されるarray of SASL mechanisms
も返します。インスタンスがレプリカセットのメンバーである場合、
hello
はレプリカセット構成のサブセットと、インスタンスがレプリカセットのプライマリであるかどうかなどのステータスを返します。レプリカセットのノードではない
mongod
インスタンスに送信されると、hello
はこの情報のサブセットを返します。MongoDBドライバーとクライアントは
hello
を使用してレプリカセット メンバーの状態を判断し、レプリカセットの追加メンバーを検出します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
このコマンドの構文は、次のとおりです。
db.runCommand( { hello: 1 } )
hello
コマンドは、結果に追加のフィールドhello.saslSupportedMechs
を返すためのオプション フィールドsaslSupportedMechs: <db.user>
と、コマンドに関連付けられたログ コメントを追加するためのcomment <any>
を受け入れます。
db.runCommand( { hello: 1, saslSupportedMechs: "<db.username>", comment: <any> } )
db.hello()
hello
のmongosh
メソッドは を囲むラッパーを提供します。
動作
クライアントの切断
MongoDB 4.2以降では、 hello
を発行したクライアントが操作の完了前に切断した場合、MongoDB は killOp
を使用してhello
を終了対象としてマークし 。
出力
すべての インスタンス
次のhello
フィールドはすべてのロールに共通です。
hello.isWritablePrimary
このノードが書込み可能であることを報告するブール値。
true
の場合、このインスタンスは レプリカセット 内の プライマリmongos
、または インスタンス、またはスタンドアロンのmongod
です。このフィールドは、インスタンスがレプリカセットのセカンダリノードである場合、またはノードがレプリカセットのアービタである場合は
false
になります。
hello.maxBsonObjectSize
この
mongod
プロセスに許可される BSON オブジェクトの最大サイズ(バイト単位)。指定しない場合、クライアントは "16 * 1024 * 1024
の最大サイズを想定します。
hello.maxMessageSizeBytes
BSONワイヤプロトコル メッセージの最大許可サイズ。 デフォルト値は
48000000
バイトです。
hello.maxWriteBatchSize
書込み (write) バッチで許可される書込み (write) 操作の最大数。 バッチがこの制限を超える場合、クライアント ドライバーはバッチを小さなグループに分割し、各グループのカウントはこのフィールドの値以下になります。
この制限の値は
100,000
回の書込みです。
hello.localTime
ローカル サーバー時間を UTC で返します。 この値はISO 日付です。
hello.logicalSessionTimeoutMinutes
セッションが最後に使用されてからアクティブな状態である時間(分単位)。クライアントから新しい読み取りもしくは書き込み操作を受信していないセッション、またはこのしきい値内に
refreshSessions
で更新されていないセッションは、キャッシュからクリアされます。 期限切れのセッションに関連付けられた状態は、サーバーによっていつでもクリーンアップされる可能性があります。featureCompatibilityVersion
が"3.6"
以上の場合にのみ使用できます。
hello.minWireVersion
この
mongod
またはmongos
インスタンスがクライアントと通信するために使用できるワイヤプロトコルの最も初期のバージョン。クライアントは
minWireVersion
を使用して、MongoDB との互換性をネゴシエートするのに役立ちます。
hello.maxWireVersion
この
mongod
またはmongos
インスタンスがクライアントとの通信に使用できるワイヤプロトコルの最新バージョン。クライアントは
maxWireVersion
を使用して、MongoDB との互換性をネゴシエートするのに役立ちます。
hello.compression
クライアントと
mongod
mongos
mongod
または インスタンス間の通信を圧縮するために使用される、または使用可能な圧縮アルゴリズム(クライアントとmongos
または インスタンスの両方に共通)をリストする配列。このフィールドは、圧縮が使用されている場合にのみ使用できます。 例:
mongod
がsnappy,zlib
コンプレッサーの両方を使用するように有効になっており、クライアントがzlib
を指定している場合、compression
フィールドには次の内容が含まれます。"compression": [ "zlib" ] mongod
がsnappy,zlib
コンプレッサーの両方を使用するように有効になっており、クライアントがzlib,snappy
を指定している場合、compression
フィールドには次の内容が含まれます。"compression": [ "zlib", "snappy" ] mongod
がsnappy
コンプレッサーを使用するよう有効になっており、クライアントがzlib,snappy
を指定している場合、compression
フィールドには が含まれます。"compression": [ "snappy" ] mongod
がsnappy
コンプレッサーを使用するよう有効になっており、クライアントがzlib
を指定しているか、クライアントがコンプレッサーを指定していない場合、 フィールドは省略されます。
つまり、クライアントが圧縮を指定しない場合、または接続された
mongod
またはmongos
インスタンスで有効になっていないコンプレッサーをクライアントが指定した場合、 フィールドは返されません。
シャーディングされた インスタンス
レプリカセット
hello
レプリカセットのノードによって返された場合、これらのフィールドが含まれます。
hello.hosts
非表示 、
"[hostname]:[port]"
パッシブ 、 アービタ のいずれにもない レプリカセット のすべてのノードを一覧表示する 形式の文字列の配列。ドライバーはこの配列と
hello.passives
を使用して、読み取るメンバーを決定します。
hello.secondary
true
ブール値は の場合、mongod
が レプリカセット の セカンダリ メンバーであるかどうかを示します。
hello.passives
が の
members[n].priority
を持つ レプリカセット のすべてのメンバーを一覧表示する 形式の string"[hostname]:[port]"
0
の配列。このフィールドは、
members[n].priority
が0
のノードが少なくとも 1 つある場合にのみ表示されます。ドライバーはこの配列と
hello.hosts
を使用して、読み取るメンバーを決定します。
hello.arbiters
アービタ
"[hostname]:[port]"
である レプリカセット のすべてのノードを一覧表示する 形式の文字列の配列。このフィールドは、レプリカセット内に少なくとも 1 つのアービタが存在する場合にのみ表示されます。
hello.primary
レプリカセットの現在のプライマリメンバーを一覧表示する
"[hostname]:[port]"
形式の string。
hello.arbiterOnly
ブール値 は、
true
の場合、現在のインスタンスがアービタであることを示します。arbiterOnly
フィールドは、インスタンスがアービタである場合にのみ存在します。
hello.passive
ブール値で、
true
の場合は、現在のインスタンスがアクティブであることを示します。passive
フィールドは、members[n].priority
が0
のメンバーにのみ存在します。
hello.tags
tags
ドキュメントには、レプリカセットのユーザー定義タグ フィールドと値のペアが含まれています。{ "<tag1>": "<string1>", "<tag2>": "<string2>",... } 読み取り操作では、読み込み設定 (read preference) でタグセットを指定して、指定したタグを持つレプリカセットに操作を指示できます。
書込み操作では、 と
settings.getLastErrorModes
を使用してカスタマイズされた 書込み保証settings.getLastErrorDefaults
を作成できます。
詳しくは、「レプリカセットのタグセットの構成」を参照してください。
hello.me
[hostname]:[port]
を返したノードのhello
。
hello.electionId
各選挙の一意の識別子。 プライマリ の
hello
の出力にのみ含まれます。選挙がいつ行われるかを決定するためにクライアントが使用します。
hello.lastWrite
データベースの最新の書込み (write) 操作のoptimeと日付の情報を含むドキュメント。
hello.lastWrite.opTime
最後の書込み (write) 操作のoptimeを提供するオブジェクト。
hello.lastWrite.majorityWriteDate
majority
が読み取り可能な最後の書込み操作の時刻を含む日付オブジェクト。
ok
ステータス フィールド、 operationTime
フィールド、 $clusterTime
フィールドの詳細については、「コマンド応答 」を参照してください。