শেলের মোঙ্গোদবতে সংগ্রহের সূচকের তালিকা দেখার কোনও উপায় আছে কি? আমি http://www.mongodb.org/display/DOCS/Indexes এর মাধ্যমে পড়েছি তবে আমি কিছুই দেখতে পাচ্ছি না
শেলের মোঙ্গোদবতে সংগ্রহের সূচকের তালিকা দেখার কোনও উপায় আছে কি? আমি http://www.mongodb.org/display/DOCS/Indexes এর মাধ্যমে পড়েছি তবে আমি কিছুই দেখতে পাচ্ছি না
উত্তর:
আপনি যদি সমস্ত সূচকে তালিকাবদ্ধ করতে চান:
db.getCollectionNames().forEach(function(collection) {
indexes = db.getCollection(collection).getIndexes();
print("Indexes for " + collection + ":");
printjson(indexes);
});
এবং আপনি যদি আপনার ডাটাবেসে সমস্ত সূচকের তালিকা পেতে চান:
use "yourdbname"
db.system.indexes.find()
আপনি আপনার সংগ্রহটি ব্যবহার করেছেন তা নিশ্চিত করুন:
db.collection.getIndexes()
http://docs.mongodb.org/manual/administration/indexes/#information-about-indexes
আপনি আপনার সমস্ত সূচিপত্রগুলির আকারের সাথে একত্রে আউটপুটও করতে পারেন:
db.collectionName.stats().indexSizes
এছাড়াও এটি পরীক্ষা করুন যা db.collectionName.stats()
আপনাকে প্যাডিংফ্যাক্টর, সংগ্রহের আকার এবং এর অভ্যন্তরের উপাদানগুলির সংখ্যার মতো আকর্ষণীয় তথ্য দেয়।
এই পদক্ষেপটি আরও এগিয়ে নিয়ে যাওয়া, আপনি যদি সমস্ত সংগ্রহের সমস্ত সূচি খুঁজে পেতে চান তবে এই স্ক্রিপ্টটি (জুয়ান কার্লোস ফারাহের স্ক্রিপ্ট থেকে এখানে সংশোধিত ) আপনাকে সূচীর বিবরণের একটি জেএসএন প্রিন্টআউট সহ কিছু দরকারী আউটপুট দেয়:
// Switch to admin database and get list of databases.
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);
cols = db.getCollectionNames();
// Iterate through each collection.
cols.forEach(function(col) {
//Find all indexes for each collection
indexes = db[col].getIndexes();
indexes.forEach(function(idx) {
print("Database:" + database.name + " | Collection:" +col+ " | Index:" + idx.name);
printjson(indexes);
});
});
});
printjson(indexes);
হওয়া উচিতprintjson(idx);