admin ডেটাবেস থেকে listDatabases
সব ডেটাবেসে অপারেশন করার জন্য প্রথমে admin ডেটাবেস-এ স্যুইচ করে listDatabases কমান্ড চালান।
সিনট্যাক্স
> var adminDB = db.getSiblingDB("admin");
> var allDatabases = adminDB.runCommand({ "listDatabases": 1 }).databases;
আউটপুট নমুনা
[
{ "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 }
]
প্রতিটি ডেটাবেসে লুপ (উদাহরণ: কলেকশন কাউন্ট)
allDatabases.forEach(function(dbInfo) {
var db = db.getSiblingDB(dbInfo.name);
var count = db.getCollectionNames().length;
print(dbInfo.name + ": " + count + " collections");
});
ব্যবহারিক於: ব্যাকআপ স্ক্রিপ্ট, মॉनিটরিং, মাইগ্রেশন অটোমেশন এর জন্য এই প্যাটার্ন ব্যবহারী।
নোট: admin ডেটাবেস এক্সেসের জন্য অ্যাডমিন বা ক্লাস্টার মনিটর রোল দরকার।