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 } )

以下は listDatabases の結果の例です。

{
"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 オプションを指定します。

例、次の例では、listDatabases は指定されたregular expression と一致する名前のデータベースに関する情報のみを返すようにフィルターを指定します。

db.adminCommand( { listDatabases: 1, filter: { "name": /^rep/ } } )

mongosインスタンスに対して実行された場合、listDatabases は次のようになります。

  • nameOnly: false場合、各データベースの要約ドキュメントにshards埋め込みドキュメントを追加し、

  • localデータベースを除外します。

shards 埋め込みドキュメントの各要素は、そのシャード上のコレクションの名前を示すキーと、その値がコレクションのサイズをバイト単位で表すフィールドで構成されています。

sizeOnDiskフィールドは、リストされているすべてのコレクションとインデックスの合計サイズを表します。

以下に例を挙げます。

{
"databases" : [
{
"name" : "admin",
"sizeOnDisk" : 16384,
"empty" : false,
"shards" : {
"config" : 16384
}
},
{
"name" : "config",
"sizeOnDisk" : 176128,
"empty" : false,
"shards" : {
"clients" : 28672,
"patients" : 8192,
"config" : 139264
}
},
{
"name" : "test",
"sizeOnDisk" : 12288,
"empty" : false,
"shards" : {
"clients" : 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は成功を示します。