定義
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() を使用する必要があります。
読み込み設定 (read preference)
mongosh2.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() を使用してデータベース コマンドを実行する方法を示しています。
読み込み設定(read preference)が指定されていない hello コマンド
この例では、db.runCommand() を使用して hello コマンドを実行する方法を示します。
db.runCommand( { hello: 1 } )
出力について詳しくは、「hello 出力」を参照してください。
読み込み設定 (read preference)の動作の詳細については、 読み込み設定(read preference) を参照してください。
readPreference: secondaryPreferred を使用した hello コマンド
この例では、db.runCommand() を使用して、hello コマンドを secondaryPreferred 読み取り設定で実行する方法を示しています。
db.runCommand( { hello: 1 }, { readPreference: "secondaryPreferred" } )
出力について詳しくは、「hello 出力」を参照してください。
読み込み設定 (read preference)の動作の詳細については、 読み込み設定(read preference) を参照してください。
応答
このメソッドは、次のフィールドを含む応答ドキュメントを返します。
フィールド | 説明 |
|---|---|
<command result> | 実行された |
| コマンドが成功したか( |
| 操作の論理的な時間。MongoDB は論理時間を使用して操作を順序付けます。レプリカセットとシャーディングされたクラスターのみ。 コマンドが oplog エントリを生成しない場合(読み取り操作など)、その操作では論理クロックは進みません。この場合、
因果的に一貫性のあるセッションに関連付けられた操作の場合、MongoDB ドライバーは論理時間を使用して、読み取り操作と |
| 署名されたクラスター時間を返すドキュメント。クラスター時間は、操作の順序付けに使用される論理時間です。レプリカセットとシャーディングされたクラスターのみ。内部使用のみ。 このドキュメントには、以下のフィールドが含まれています。
|