暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

mongodb知识一:核查集合清单及大小

原创 流沙-卫庄 2026-02-28
105

方法一:主要是在linux命令行使用,受限于客户端显示的行数问题,可以使用以下方法,分批去获取集合信息。

var collectionNames= db.getCollectionNames();
for (var i = 0; i < 500; i++) {
var coll = db.getCollection(collectionNames[i]);
var stats = coll.stats(1024 * 1024);
print(collectionNames[i], ‘,’, db.getCollection(collectionNames[i]).count(), ‘,’, db.getCollection(collectionNames[i]).dataSize());
};

方法二:适合客户端工具上使用,直接查看完整的集合(适合客户端工具上使用,可以复制全部集合信息。

var collectionNames= db.getCollectionNames();
for (var i = 0; i < collectionNames.length; i++) {
var coll = db.getCollection(collectionNames[i]);
var stats = coll.stats(1024 * 1024);
print(collectionNames[i], ‘,’, db.getCollection(collectionNames[i]).count(), ‘,’, db.getCollection(collectionNames[i]).dataSize());
};

方法三:Linux导出到csv文件

创建并执行导出命令
mongo --quiet your_database --eval "
var collectionNames= db.getCollectionNames();
for (var i = 0; i < collectionNames.length; i++) {
var coll = db.getCollection(collectionNames[i]);
var stats = coll.stats(1024 * 1024);
print(collectionNames[i], ‘,’, db.getCollection(collectionNames[i]).count(), ‘,’, db.getCollection(collectionNames[i]).dataSize());
};
" > collection_stats.csv

方法四:核查前缀T_ABC_的集合信息

1)先过滤再loop(更优解)

var collectionNames = db.getCollectionNames();

// 添加前缀过滤
var filteredCollections = collectionNames.filter(function(collName) {
return collName.startsWith(“T_ABC_”);
});

for (var i = 0; i < filteredCollections.length; i++) {
var collName = filteredCollections[i];
var coll = db.getCollection(collName);
var stats = coll.stats(1024 * 1024);

// 优化:使用stats对象中的数据,避免重复调用 —可选。
print(collName, ‘,’, stats.count, ‘,’, stats.size);
}

2)循环内过滤

var collectionNames = db.getCollectionNames();
for (var i = 0; i < collectionNames.length; i++) {

**// 添加这行判断,判断集合名是否以T_ABC_开头,是的话继续否则跳过。 **
if (!collectionNames[i].startsWith(“T_ABC_”)) continue;

var coll = db.getCollection(collectionNames[i]);
var stats = coll.stats(1024 * 1024);
print(collectionNames[i], ‘,’, stats.count, ‘,’, stats.size);
}


学无止境,共同探索!

最后修改时间:2026-03-02 17:08:38
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论