【发布时间】:2019-01-20 00:01:26
【问题描述】:
我一直在寻找一种方法来减小一组不断增长的 mongo 数据库的大小。我是 mongodb 的新手。我已经查看了执行此操作的各种方法,并认为以下代码可能是实现此目标的最简单方法,而无需为特定数据库编写代码:
db = db.getSiblingDB("admin");
dbs = db.runCommand({ "listDatabases": 1 }).databases;
// Iterate through each database and get its collections.
dbs.forEach(function(database) {
db = db.getSiblingDB(database.name);
db.getCollectionNames().forEach(function (collectionName) {
print('Compacting: ' + collectionName);
db.runCommand({ compact: collectionName });
db.runCommand({ repairDatabase: 1 } );
});
});
但是,它运行在所有数据库上,所以我不确定运行它是否有潜在危险?
【问题讨论】: