重要
mongosh メソッド
このページでは、mongosh メソッドについて説明します。これはNode.jsなどの言語固有のドライバーのドキュメントではありません。
MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。
定義
- db.adminCommand(command)
- 指定された データベースコマンド を - adminデータベースに対して実行するためのヘルパーを提供します。Parameterタイプ説明- command- ドキュメントまたは文字列 - ドキュメント 形式または文字列として指定される データベースコマンド 。文字列として指定する場合、コマンドには引数を含めることはできません。 
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです 
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
- MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン 
- MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン 
動作
db.adminCommand()は、実行されるデータベース コンテキストに関係なく、 adminデータベースに対してコマンドを実行します。 次のコマンドは同等です。
db.getSiblingDB("admin").runCommand(<command>) db.adminCommand(<command>) 
使用可能な管理データベースコマンドの一覧については、「 管理コマンド」を参照してください。
注意
authorization で実行中の mongod、または mongos の場合、承認されたユーザーはデータベースコマンドを実行するための適切な特権を持っている必要があります。セキュリティ要件の詳細については、コマンドの参考ドキュメントを参照してください。
応答
このメソッドは、次のフィールドを含む応答ドキュメントを返します。
| フィールド | 説明 | 
|---|---|
| <command result> | 実行された  | 
| 
 | コマンドが成功したか( | 
| 
 | 操作の論理的な時間。MongoDB は論理時間を使用して操作を順序付けます。レプリカセットとシャーディングされたクラスターのみ。 コマンドが oplog エントリを生成しない場合(読み取り操作など)、その操作では論理クロックは進みません。この場合、  
 因果的に一貫性のあるセッションに関連付けられた操作の場合、MongoDB ドライバーは論理時間を使用して、読み取り操作と  | 
| 
 | 署名されたクラスター時間を返すドキュメント。クラスター時間は、操作の順序付けに使用される論理時間です。レプリカセットとシャーディングされたクラスターのみ。内部使用のみ。 このドキュメントには、以下のフィールドが含まれています。 
 | 
例
killOp
次の例では、 db.adminCommand()メソッドを使用してkillOpコマンドを実行し、 opid 724で操作を終了します。 killOpは管理コマンドであり、 adminデータベースに対して実行する必要があります。
db.adminCommand( { "killOp": 1, "op": 724 } ) 
renameCollection
次の例では、 db.adminCommand()を使用してrenameCollection管理データベースコマンドを実行し、 testデータベース内のordersコレクションの名前をorders-2016に変更します。
db.adminCommand(   {      renameCollection: "test.orders",      to: "test.orders-2016"   } ) 
createUser
次の例では、db.adminCommand() メソッドを使用して、admin データベース上に dbOwner ロールを持つ bruce という名前のユーザーを作成します。
Tip
メソッドやコマンドの呼び出しでパスワードを直接指定する代わりに、 passwordPrompt()メソッドをさまざまなユーザー認証や管理のメソッドやコマンドと組み合わせて使用すると、パスワードの入力を求めることができます。 ただし、 mongo shell の以前のバージョンと同様にパスワードを直接指定することもできます。
db.adminCommand(   {     createUser: "bruce",     pwd: passwordPrompt(),  // or <cleartext password>     roles: [       { role: "dbOwner", db: "admin" }     ]   } )