dbStats (データベース統計)
最終更新:2026-10-09
dbStats (データベース統計)
dbStats は現在のデータベースの統計(コレクション数、ドキュメント数、データサイズ、インデックスサイズ、ストレージ使用量)を返し、容量計画と監視に使います。mongosh では db.stats() または db.runCommand({ dbStats: 1 }) を使います。scale 引数でバイト単位を指定できます(1024 で KB)。シャーディングクラスタでは集計値が返されます。
| カテゴリ | 監視と診断 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
db.stats()
db.runCommand({ dbStats: 1, scale: 1024 })
⚙️ パラメータ
| scale | バイト単位の係数。1024 はキロバイトを意味します。 |
|---|
戻り値:統計ドキュメント: db、collections、objects、dataSize、storageSize、indexSize、ok など
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// dbStats: データベース統計
use shop
db.runCommand({ dbStats: 1, scale: 1024 })
出力:
{
db: 'shop',
collections: 5,
objects: 1200,
avgObjSize: 402,
dataSize: 482,
storageSize: 1024,
indexes: 7,
indexSize: 341,
ok: 1
}
📌 注意事項
- scale で単位を指定(1024 で KB)
- dataSize は論理サイズ、storageSize は実際のディスク使用量
- シャーディングクラスタでは集計値が返される
🏷️ 関連タグ
💡 関連ケース
さらなる実践ケースを近日公開予定。
📚 関連チュートリアル
❓ よくある質問
QdbStats と collStats の違いは?
AdbStats はデータベース単位で集計し、collStats は 1 つのコレクションを対象にします。
QdataSize と storageSize はどう違いますか?
AdataSize は論理的なドキュメントサイズ、storageSize は空き領域や圧縮を含むディスク使用量です。
Q単位はどう変更しますか?
Ascale: 1024 を渡すと KB、省略するとバイトになります。