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

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

dbStats

dbStatsコマンドは、指定されたデータベースのストレージ統計を返します。

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

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

重要

このコマンドは、M0 およびフレックス クラスターで限定的にサポートされています。詳細については、「サポートされていないコマンド」を参照してください。

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

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

このコマンドの構文は、次のとおりです。

db.runCommand(
{
dbStats: 1,
scale: <number>,
freeStorage: 0
}
)

このコマンドは、次のフィールドを使用します。

フィールド
説明

1

任意。 さまざまなサイズ データの増やす ファクター。scaleのデフォルトは 1 で、サイズ データをバイト単位で返します。 バイトではなくキロバイトを表示するには、 scaleの値を1024に指定します。

整数以外のスケール係数を指定した場合、MongoDB は指定された係数の整数部分を使用します。たとえば、スケール係数を 1023.999 に指定すると、MongoDB はスケール係数として 1023 使用します。

バージョン 4.2 以降では、出力にサイズ値を増やすのに使用される scaleFactor が含まれるようになりました。

任意。コレクションに割り当てられた空き領域の詳細を返すには、 freeStorage を「1」に設定します。

インスタンスに多数のコレクションまたはインデックスがある場合、空き領域の使用状況データを取得すると、処理が遅れる可能性があります。空き領域の詳細なしでdbStats 情報を収集するには、freeStorage 0を に設定するか、フィールドを含めないでください。

mongoshでは、db.stats() 関数はdbStats を囲むラッパーを提供します。

コマンドの実行に必要な時間は、データベースの合計サイズによって異なります。コマンドはすべてのデータファイルにアクセスする必要があるため、コマンドの実行には数秒かかる場合があります。

mongodWired Tigerストレージエンジンを使用して を不正にシャットダウンした後、dbStats によって報告されるカウントとサイズの統計が不正確になる可能性があります。

ドリフトの量は、チェックポイントからクリーン シャットダウンまでの間に実行された挿入、アップデート、または削除操作の数によって異なります。チェックポイントは通常、60 秒ごとに発現します。ただし、デフォルト以外の --syncdelay 設定で実行されている mongod インスタンスでは、チェックポイントの頻度が増減する可能性があります。

不正なシャットダウン後に統計を復元するには、mongod の各コレクションに対して validate を実行します。

不正なシャットダウン後:

レプリカセットノードで 操作を実行するには、ノードがdbStats PRIMARYまたはSECONDARY 状態である必要があります。ノードがSTARTUP2 などの別の状態にある場合、操作はエラーになります。

dbStats.db

データベースの名前。

dbStats.collections

データベース内のコレクションの数。

dbStats.views

データベース内のビュー数。

dbStats.objects

すべてのコレクションにわたるデータベース内のオブジェクト(具体的には、ドキュメント)の数。

dbStats.avgObjSize

各ドキュメントの平均サイズ(バイト単位)。これは、dataSize をドキュメント数で割った値です。スケール引数は avgObjSize 値に影響しません。

dbStats.dataSize

データベースに保持されている非圧縮データの合計サイズ。ドキュメントを削除すると、dataSize は減少します。

WiredTiger ストレージ エンジンを使用するデータベースの場合、圧縮が有効になっていると、dataSize が storageSize より大きくなる可能性があります。ドキュメントが縮小すると、 dataSize は減少します。

dbStats.storageSize

ドキュメントストレージ用にデータベース内のすべてのコレクションに割り当てられたディスク領域の合計(空き領域を含む)。

storageSizeドキュメントを削除または圧縮しても、dataSize は減少しません。この値は、圧縮が有効になっているWiredTigerストレージエンジンを使用しているデータベースの場合、 より小さくなる可能性があります。

storageSizeには、インデックスに割り当てられたスペースは含まれません。インデックスのインデックスサイズについては、indexSize を参照してください。

dbStats.freeStorageSize

ドキュメントストレージ用にデータベース内のすべてのコレクションに割り当てられた空き領域の合計。データベース・ストレージの空き領域はコレクションに割り当てられていますが、データは含まれていません。

freeStorageSizeにはインデックスに割り当てられた空き領域は含まれません。インデックスの空き領域の合計については、indexFreeStorageSize を参照してください。

この値をdbStats の出力に含めるには、 freeStorage を1 に設定します。

バージョン 5.3.0、5.2.1、および 5.0.6 でアップデート

dbStats.indexes

データベース内のすべてのコレクションにわたるインデックスの合計数。

dbStats.indexSize

インデックスの空き領域を含む、データベース内のすべてのインデックスに割り当てられたディスク容量の合計。

注意

_ìdフィールドのデフォルトインデックスのみ(セカンダリ インデックスなし)のクラスター化されたコレクションでは、コレクションに別のインデックスファイルが必要ないため、インデックスサイズはゼロとして表示されます。

dbStats.indexFreeStorageSize

データベース内のすべてのインデックスに割り当てられたディスクの空き領域の合計。データベース・ストレージの空き領域はインデックスに割り当てられていますが、データは含まれていません。

indexFreeStorageSizeにはドキュメントストレージに割り当てられた空き領域は含まれません。ドキュメント・ストレージの空き領域のストレージについては、freeStorageSize を参照してください。

indexFreeStorageSize 進行中のインデックス構築は含まれません。

この値をdbStats の出力に含めるには、 freeStorage を1 に設定します。

バージョン 7.0、6.3.2、6.0.7、5.3.0、5.2.1、5.0.19、5.0.6 でアップデート

dbStats.totalSize

データベース内のすべてのコレクション内のドキュメントとインデックスの両方に割り当てられたディスク領域の合計。ストレージの使用済みおよびストレージ領域を含みます。これはstorageSize とindexSize の合計です。

dbStats.totalFreeStorageSize

データベース内のすべてのコレクション内のドキュメントとインデックスの両方に割り当てられたストレージのストレージ領域の合計。これはfreeStorageSize とindexFreeStorageSize の合計です。

この値をdbStats の出力に含めるには、 freeStorage を1 に設定します。

バージョン 5.3.0、5.2.1、および 5.0.6 でアップデート。

dbStats.scaleFactor

scale 値(コマンドで使用)。

整数以外のスケール係数を指定した場合、MongoDB は指定された係数の整数部分を使用します。たとえば、スケール係数を 1023.999 に指定すると、MongoDB はスケール係数として 1023 使用します。

dbStats.fsUsedSize

MongoDB がデータを保存するファイルシステムで使用中のすべてのディスク領域の合計サイズ。

dbStats.fsTotalSize

MongoDB がデータを保存するファイルシステム上のすべてのディスク容量の合計サイズ。

次の例は、dbStats の使用方法を示しています。

返されるデータを 1 つのフィールドに制限するには、dbStats コマンドにフィールド名を追加します。この例では、indexSize 値を返します。

db.runCommand( { dbStats: 1 } ).indexSize

ストレージのストレージの使用状況を表示するには、 freeStorage を1 に設定します。

db.runCommand( { dbStats: 1, scale: 1024, freeStorage: 1 } )

出力例:

{
db: 'test',
collections: 2,
views: 0,
objects: 1689,
avgObjSize: 52.56542332741267,
dataSize: 86.7021484375,
storageSize: 100,
freeStorageSize: 32,
indexes: 2,
indexSize: 116,
indexFreeStorageSize: 36,
totalSize: 216,
totalFreeStorageSize: 68,
scaleFactor: 1024,
fsUsedSize: 60155820,
fsTotalSize: 61255492,
ok: 1,
'$clusterTime': {
clusterTime: Timestamp({ t: 1646085664, i: 1 }),
signature: {
hash: Binary(Buffer.from("0000000000000000000000000000000000000000", "hex"), 0),
keyId: Long("0")
}
},
operationTime: Timestamp({ t: 1646085664, i: 1 })
}

freeStorageフィールドを使用すると、強調表示されたメトリクスの収集と表示が可能になります。

スケールフィールドでは、表示される値をキロバイトに設定します。