如何在MongoDB中按升序/降序显示所有数据库及其大小

Abh*_*ari 3 mongodb

我的MongoDB系统中有600多个数据库。每当我运行命令show dbs时,它将按字母顺序返回其大小的数据库。我想按升序或降序获取数据库。
在MongoDB中有可能吗?

Mik*_*neu 9

您可以在shell内编写简单的Java脚本

db.adminCommand("listDatabases").databases
    .sort(function(l, r) {
         return r.sizeOnDisk - l.sizeOnDisk})
    .forEach(function(d) {
         print(d.name + " - " + d.sizeOnDisk)});
Run Code Online (Sandbox Code Playgroud)

或通过传递脚本来调用shell:

mongo --quiet  --eval 'db.adminCommand("listDatabases").databases.sort(function(l, r) {return r.sizeOnDisk - l.sizeOnDisk}).forEach(function(d) {print(d.name + " - " + d.sizeOnDisk)});'
Run Code Online (Sandbox Code Playgroud)