MongoDBの一般的なコマンド
データベース内のテーブルサイズを確認する
データベース内の各テーブル(コレクション)のサイズを確認するには、以下のコマンドで対象のデータベースにアクセスします。
use database_name
database_nameには、アクセスしたいデータベース名を入力してください(例:use mdworkflow)。
(() => {
const getReadableSize = b => b === 0 ? '0.0 B' :
((u=['B','kB','MB','GB','TB','PB'])[i=Math.floor(Math.log(b)/Math.log(1024))],
`${(b/Math.pow(1024,i)).toFixed(1)} ${u[i]}`);
const stats = db.getCollectionNames().map(n => {
try {
const s = db.getCollection(n).stats();
return {
ns: s.ns || `${db.getName()}.${n}`,
count: s.count || 0,
size: (s.storageSize || 0) + (s.totalIndexSize || 0)
};
} catch (e) { return null; }
}).filter(s => s && s.size > 0).sort((a,b) => b.size - a.size);
if (!stats.length) return print("No valid collection data");
const [maxNs, maxCnt] = stats.reduce(([nl, cl], s) => [
Math.max(nl, s.ns.length),
Math.max(cl, s.count.toString().length)
], ['Collection'.length, 'Documents'.length]);
const h = `Collection${' '.repeat(maxNs-10)} | Documents${' '.repeat(maxCnt-9)} | Total Size`;
print(h + '\n' + '-'.repeat(h.length));
stats.forEach(s => print(
`${s.ns.padEnd(maxNs)} | ${s.count.toString().padEnd(maxCnt)} | ${getReadableSize(s.size)}`
));
})();
- 上記のコマンドを実行すると、現在のデータベース内のテーブルサイズが一覧で表 示されます。