AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

db.runCommand()(mongoshメソッド)

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 を指定します。

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

このメソッドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のための完全管理サービスです

注意

このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

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 内の最新エントリのタイムスタンプ。

  • 読み取り保証 (read concern)"majority" の場合、読み取りを実行するために使用されるスナップショットのタイムスタンプ。

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

$clusterTime

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

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

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

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

このページを評価