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

db.adminCommand()

項目一覧

  • 定義
  • 動作
  • 応答

重要

mongosh メソッド

このページでは、 mongoshメソッドについて説明します。 これは Node.js などの言語固有のドライバーのドキュメントではありません

MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。

db.adminCommand(command)

指定された データベースコマンドadmin データベースに対して実行するためのヘルパーを提供します。

Parameter
タイプ
説明
command
ドキュメントまたは文字列
ドキュメント 形式または文字列として指定される データベースコマンド 。文字列として指定する場合、コマンドには引数を含めることはできません。

db.adminCommand()は、実行されるデータベース コンテキストに関係なく、 adminデータベースに対してコマンドを実行します。 次のコマンドは同等です。

db.getSiblingDB("admin").runCommand(<command>)
db.adminCommand(<command>)

使用可能な管理データベースコマンドの一覧については、「 管理コマンド」を参照してください。

注意

authorization で実行中の mongod、または mongos の場合、承認されたユーザーはデータベースコマンドを実行するための適切な特権を持っている必要があります。セキュリティ要件の詳細については、コマンドの参考ドキュメントを参照してください。

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

フィールド
説明
<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.adminCommand()メソッドを使用してkillOpコマンドを実行し、 opid 724で操作を終了します。 killOpは管理コマンドであり、 adminデータベースに対して実行する必要があります。

db.adminCommand( { "killOp": 1, "op": 724 } )

次の例では、 db.adminCommand()を使用してrenameCollection管理データベースコマンドを実行し、 testデータベース内のordersコレクションの名前をorders-2016に変更します。

db.adminCommand(
{
renameCollection: "test.orders",
to: "test.orders-2016"
}
)

次の例では、db.adminCommand() メソッドを使用して、admin データベース上に dbOwner ロールを持つ bruce という名前のユーザーを作成します。

Tip

passwordPrompt() メソッドを様々なユーザー認証管理メソッドやコマンドと組み合わせて使用すると、メソッドやコマンドの呼び出しでパスワードを直接指定する代わりに、パスワードの入力を求めるプロンプトが表示されます。ただし、以前のバージョンの mongo シェルと同様に、パスワードを直接指定することもできます。

db.adminCommand(
{
createUser: "bruce",
pwd: passwordPrompt(), // or <cleartext password>
roles: [
{ role: "dbOwner", db: "admin" }
]
}
)

戻る

Databases