Để liệt kê tất cả collection từ mọi database, cần truy cập database admin và dùng lệnh listDatabases.
Bước 1: Chuyển sang admin và lấy danh sách database
> switchDatabaseAdmin = db.getSiblingDB("admin");
> allDatabaseName = switchDatabaseAdmin.runCommand({ "listDatabases": 1 }).databases;
Kết quả: mảng các database (admin, config, local, sample, test...).
Bước 2: Lặp qua từng database để lấy tên collection
> allDatabaseName.forEach(function(databaseName) {
db = db.getSiblingDB(databaseName.name);
collectionName = db.getCollectionNames();
collectionName.forEach(function(collName) {
print(collName);
});
});
Kết quả: Danh sách tên collection từ tất cả database được in ra màn hình.
Lưu ý: Cần quyền truy cập admin. Cách này hữu ích cho quản trị viên audit schema hoặc di chuyển dữ liệu.