Để lặp qua tất cả database, cần chuyển sang database admin và dùng listDatabases command.
Các bước:
> switchDatabaseAdmin = db.getSiblingDB("admin");
> allDatabaseName = switchDatabaseAdmin.runCommand({ "listDatabases": 1 }).databases;
Kết quả trả về mảng các database với thông tin name, sizeOnDisk, empty:
[
{ "name": "admin", "sizeOnDisk": 495616, "empty": false },
{ "name": "config", "sizeOnDisk": 98304, "empty": false },
{ "name": "local", "sizeOnDisk": 73728, "empty": false },
{ "name": "sample", "sizeOnDisk": 1335296, "empty": false },
{ "name": "sampleDemo", "sizeOnDisk": 278528, "empty": false },
{ "name": "studentSearch", "sizeOnDisk": 262144, "empty": false },
{ "name": "test", "sizeOnDisk": 8724480, "empty": false }
]
Ứng dụng: Dùng mảng allDatabaseName để lặp qua từng database thực hiện tác vụ quản trị (backup, audit, cleanup...).
Lưu ý: Cần quyền listDatabases trên admin (thường dành cho user admin).