Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

db.runCommand()

項目一覧

  • 定義
  • 動作
  • 応答
db.runCommand(command, [options])

指定されたデータベース コマンドを実行するためのヘルパーを提供します。これは、shell とドライバー間の一貫したインターフェースを提供するため、データベース コマンドを発行するための推奨される方法です。

Parameter
タイプ
説明
command
ドキュメントまたは文字列
コマンドを指定するドキュメントまたは文字列。文字列として指定すると、 db.runCommand()文字列をドキュメントに変換します。
options
ドキュメント
mongosh 2.0 以降では、mongosh がコマンドを実行する方法を指定するオプションです。

options.readPreference

コマンドを実行するための読み取り設定。指定されていない場合は、デフォルトで primary になります。db.runCommand() は、setReadPref() の使用や、接続文字列 での readPreference の指定など、その他の読み取り設定グローバル構成セットを無視します。

mongosh 1.x では、db.runCommand()options 引数を取りません。読み取り設定を設定するには、Mongo.setReadPref() を使用するか、接続文字列で readPreference を指定します。

ミリ秒単位で時間制限を指定するには、「実行中の操作を終了する」を参照してください。

db.runCommand() は、現在のデータベースのコンテキストでコマンドを実行します。一部のコマンドは admin データベースのコンテキストでのみ適用可能であり、これらのコマンドを実行する前に db オブジェクトを変更するか、db.adminCommand() を使用する必要があります。

mongosh 2.0 以降では、オプション引数を使用して、コマンドの読み込み設定(read preference)を指定できます。読み込み設定(read preference)を指定しない場合、 db.runCommand() はデフォルトで primary になります。

警告

mongosh 2.0 では、db.runCommand() は、Mongo.setReadPref() の使用や接続文字列での readPreference の指定など、その他の読み取り設定グローバル構成セットを無視します。

mongosh 1.x では、db.runCommand()options 引数を取りません。db.runCommand() は、Mongo.setReadPref() を使用するか、接続文字列で readPreference を指定して指定された読み取り設定を使用します。

次の例は、db.runCommand() を使用してデータベース コマンドを実行する方法を示しています。

この例では、db.runCommand() を使用して hello コマンドを実行する方法を示します。

db.runCommand( { hello: 1 } )

出力について詳しくは、「hello 出力」を参照してください。

読み込み設定(read preference)の動作の詳細については、 「読み込み設定(read preference)」 を参照してください。

この例では、db.runCommand() を使用して、hello コマンドを secondaryPreferred 読み取り設定で実行する方法を示しています。

db.runCommand( { hello: 1 }, { readPreference: "secondaryPreferred" } )

出力について詳しくは、「hello 出力」を参照してください。

読み込み設定(read preference)の動作の詳細については、 「読み込み設定(read preference)」 を参照してください。

このメソッドは、次のフィールドを含む応答ドキュメントを返します。

フィールド
説明
<command result>
実行された command に固有の結果フィールド。
ok
コマンドが成功したか(1)失敗したか(0)を示す数値。
operationTime

操作の論理的な時間。MongoDB は論理時間を使用して操作を順序付けます。レプリカセットとシャーディングされたクラスターのみ。

コマンドが oplog エントリを生成しない場合(読み取り操作など)、その操作では論理クロックは進みません。この場合、 operationTime は、次を返します。

  • 読み取り対象 "local""snapshot"、および "linearizable" の場合、oplog 内の最新エントリのタイムスタンプ。

  • 読み取りコンテント "majority" の場合、oplog 内の最新の majority-acknowledged エントリのタイムスタンプ。

因果的に一貫性のあるセッションに関連付けられた操作の場合、MongoDB ドライバーは論理時間を使用して、読み取り操作と afterClusterTime 期間を自動的に設定します。

$clusterTime

署名されたクラスター時間を返すドキュメント。クラスター時間は、操作の順序付けに使用される論理時間です。レプリカセットとシャーディングされたクラスターのみ。内部使用のみ。

このドキュメントには、以下のフィールドが含まれています。

  • clusterTime: ノードの最も高い既知のクラスター時間のタイムスタンプ。

  • signature: クラスター時間のハッシュとクラスター時間の署名に使用されたキーの ID を含むドキュメント。

戻る

db.rotateCertificates