定義
- 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 メソッドは を囲むラッパーを提供します。
動作
クライアントの切断
操作が完了する前にhelloを発行したクライアントが切断された場合、MongoDB はhelloをkillOpを使用して終了対象としてマークします。
出力
すべての インスタンス
次の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フィールドの詳細については、「コマンド応答 」を参照してください。