定義
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas はクラウドでの MongoDB 配置のための完全管理サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
db.adminCommand( { listDatabases: 1 } )
値(例:1)はコマンドの出力に影響しません。
コマンドフィールド
コマンドは以下の任意フィールドを取ることができます。
フィールド | タイプ | 説明 |
|---|---|---|
| ドキュメント | 任意。どのデータベースをリストアップするかを決定するクエリ述語。
|
| ブール値 | 任意.コマンドがデータベース名のみを返すか、データベース名とサイズ情報の両方を返すかを示します。 デフォルトは |
| ブール値 | 任意。アクセス制御を可能にする場合に特権に基づいて返されるデータベースを決定するフラグ。
For more information, see Behavior. |
| any | 任意。このコマンドに添付するユーザー指定のコメント。設定すると、このコメントは以下の場所にこのコマンドの記録と合わせて表示されます。
コメントには、有効な BSON 型(string, integer, object, array など)を使用できます。 |
動作
認証が有効になっている場合、listDatabases はユーザーの権限とauthorizedDatabases オプションに基づいて異なる結果を返します。
authorizedDatabasesが指定されていない場合、If the user has
listDatabasesaction on the cluster resource,listDatabasescommand returns all databases.If the user does not have
listDatabasesaction on the cluster,listDatabasescommand returns only the databases for which the user has privileges (including databases for which the user has privileges on specific collections).
If
authorizedDatabasesistrue,listDatabasescommand returns only the databases for which the user has privileges (including databases for which the user has privileges on specific collections).authorizedDatabasesがfalse場合、If the user has
listDatabasesaction on the cluster,listDatabasescommand returns all databasesIf the user does not have
listDatabasesaction on the cluster,listDatabasescommand errors with insufficient permissions.
クライアントの切断
If the client that issued listDatabases disconnects before the operation completes, MongoDB marks listDatabases for termination using killOp.
レプリカセット ノードの状態の制限
To run on a replica set member, listDatabases operations require the member to be in PRIMARY or SECONDARY state. If the member is in another state, such as STARTUP2, the operation errors.
例
データベース名とサイズを一覧表示する
adminデータベースに対して listDatabases を実行します。
db.adminCommand( { listDatabases: 1 } )
出力例:
{ "databases" : [ { "name" : "admin", "sizeOnDisk" : 83886080, "empty" : false }, { "name" : "local", "sizeOnDisk" : 83886080, "empty" : false }, { "name" : "test", "sizeOnDisk" : 83886080, "empty" : false } ], "totalSize" : 251658240, "totalSizeMb" : 251, "ok" : 1 }
データベース名のみを一覧表示
adminデータベースに対して listDatabases を実行します。nameOnly: true オプションを指定します。
db.adminCommand( { listDatabases: 1, nameOnly: true} )
出力例:
{ "databases" : [ { "name" : "admin" }, { "name" : "local" }, { "name" : "test" } ], "ok" : 1 }
フィルターに一致するデータベースを一覧表示する
admin データベースに対して listDatabases を実行します。フィルター条件に一致するデータベースのみを一覧表示するには、 filter オプションを指定します。
例えば、次のフィルターは、名前が指定されたregular expression と一致するデータベースのみを返します。
db.adminCommand( { listDatabases: 1, filter: { "name": /^rep/ } } )
シャーディングされたクラスター
mongosインスタンスに対して実行する場合、listDatabases は次のようになります。
は、
nameOnly: falseの場合、各データベースのサマリー document にshards埋め込みドキュメントを追加します。localデータベースを除外します。
shards 埋め込みドキュメントの各フィールドは、シャード名をキーとし、データベースのサイズをバイト単位で値として使用します。
sizeOnDisk フィールドは、リストされているデータベース内のすべてのコレクションとインデックスの合計サイズを表します。
以下に例を挙げます。
{ "databases" : [ { "name" : "admin", "sizeOnDisk" : 16384, "empty" : false, "shards" : { "config" : 16384 } }, { "name" : "config", "sizeOnDisk" : 176128, "empty" : false, "shards" : { "shard01" : 28672, "shard02" : 8192, "config" : 139264 } }, { "name" : "test", "sizeOnDisk" : 12288, "empty" : false, "shards" : { "shard01" : 12288 } } ], "totalSize" : 204800, "totalSizeMb" : 0, "ok" : 1 }
出力
listDatabases.databases.shardsタイプ: ドキュメント
shardsドキュメントの各フィールドは、シャード名をキーとし、データベースのサイズをバイト単位で値として使用します。shardsnameOnly: falseの場合のみ出力に表示されます。詳細については、「シャーディングされたクラスター」を参照してください。