AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

listDatabases(データベースコマンド)

listDatabases

listDatabases コマンドは、既存のすべてのデータベースのソートされていないリストと、各データベースに関する基本的な統計情報を返します。adminデータベースに対して listDatabases コマンドを実行する必要があります。

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

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

注意

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

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

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

db.adminCommand(
{
listDatabases: 1
}
)

値(例:1)はコマンドの出力に影響しません。

コマンドは以下の任意フィールドを取ることができます。

フィールド
タイプ
説明

filter

ドキュメント

任意。どのデータベースをリストアップするかを決定するクエリ述語。

listDatabases の出力内の任意のフィールドに条件を指定できます。

  • name

  • sizeOnDisk

  • empty

  • shards

nameOnly

ブール値

任意.コマンドがデータベース名のみを返すか、データベース名とサイズ情報の両方を返すかを示します。

デフォルトは false であるため、listDatabases は各データベースの名前とサイズ情報を返します。

authorizedDatabases

ブール値

任意。アクセス制御を可能にする場合に特権に基づいて返されるデータベースを決定するフラグ。

  • authorizedDatabasesが指定されていない場合、

    • If the user has listDatabases action on the cluster resource, listDatabases command returns all databases.

    • If the user does not have listDatabases action on the cluster, listDatabases returns only the databases for which the user has privileges (including databases for which the user has privileges on specific collections).

  • If authorizedDatabases is true, listDatabases returns only the databases for which the user has privileges (including databases for which the user has privileges on specific collections).

  • authorizedDatabasesfalse場合、

For more information, see Behavior.

comment

any

任意。このコマンドに添付するユーザー指定のコメント。設定すると、このコメントは以下の場所にこのコマンドの記録と合わせて表示されます。

コメントには、有効な BSON 型(string, integer, object, array など)を使用できます。

認証が有効になっている場合、listDatabases はユーザーの権限とauthorizedDatabases オプションに基づいて異なる結果を返します。

  • authorizedDatabasesが指定されていない場合、

    • If the user has listDatabases action on the cluster resource, listDatabases command returns all databases.

    • If the user does not have listDatabases action on the cluster, listDatabases command returns only the databases for which the user has privileges (including databases for which the user has privileges on specific collections).

  • If authorizedDatabases is true, listDatabases command returns only the databases for which the user has privileges (including databases for which the user has privileges on specific collections).

  • authorizedDatabasesfalse場合、

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

タイプ: 配列

それぞれが1つのデータベースに関する情報を含むドキュメントの配列。

listDatabases.databases.name

タイプ: String

データベースの名前。

listDatabases.databases.sizeOnDisk

型: 整数

ディスク上のデータベースファイルの合計サイズ (バイト単位)。

listDatabases.databases.empty

タイプ: ブール値

データベースが空かどうかを指定します。

listDatabases.databases.shards

タイプ: ドキュメント

shards ドキュメントの各フィールドは、シャード名をキーとし、データベースのサイズをバイト単位で値として使用します。

shards nameOnly: falseの場合のみ出力に表示されます。

詳細については、「シャーディングされたクラスター」を参照してください。

listDatabases.totalSize

型: 整数

すべての sizeOnDisk フィールドの合計 (バイト単位)。

listDatabases.totalSizeMb

型: 整数

sizeOnDisk0}フィールドの総和をメガバイトで表したもの。

listDatabases.ok

型: 整数

コマンドの戻り値。値1は成功を示します。