定義
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.maxMessageSizeBytesBSONワイヤプロトコル メッセージの最大許可サイズ。 デフォルト値は
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クライアントと
mongodmongosmongodまたは インスタンス間の通信を圧縮するために使用される、または使用可能な圧縮アルゴリズム(クライアントと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.secondarytrueブール値は の場合、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.tagstagsドキュメントには、レプリカセットのユーザー定義タグ フィールドと値のペアが含まれています。{ "<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.majorityWriteDatemajorityが読み取り可能な最後の書込み操作の時刻を含む日付オブジェクト。
okステータス フィールド、 operationTimeフィールド、 $clusterTimeフィールドの詳細については、「コマンド応答 」を参照してください。